advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1437 for フォルダ 選択 (0.009 sec.)
フォルダ (4447), 選択 (24694)
[[20090709221114]]
#score: 4655
@digest: 21bf9ee29e0f20365a7fe6db3b7ef9f8
@id: 44420
@mdate: 2009-07-10T09:56:41Z
@size: 6538
@type: text/plain
#keywords: ffname (55646), lblcpynm (36904), cmdexec (29523), cmdref2 (29523), txtcpynm (29523), cmdref1 (29523), cpynm (14761), habsburg (14111), tabstop (11606), specialeffect (9455), 照ボ (7055), commandbutton (5507), 先フ (5239), 元フ (5128), ォル (4676), controls (4467), 択ダ (4377), forms (4298), ダ選 (4285), ー先 (4201), backcolor (4075), caption (4054), msforms (4049), ルダ (4004), folder (3900), ー元 (3714), フォ (3633), withevents (3268), 左隣 (2710), height (2622), size (2454), 右端 (2176)
フォルダーのコピー』(habsburg)
コピーするフォルダー(フォルダーの中身は40個くらいのフォルダーがあります)を 選んで違うサーバーを(バックアップサーバー)選んで コピーをするマクロを作りたいのですが教えてください。 マクロボタンを押したらコピーをするフォルダーを選んで コピー先(違うサーバー)を選んでコピーをし、 コピーしたフォルダーに名前をつけるといった感じです。 ---- フォルダのコピーは、FSO(File System Object)のCopyFolder メソッドを使えば可能です。 まず、このFSOについてHelpやサイト検索を行って良く調べてください。 ユーザーインターフェースは、以下の仕様でいかがですか? 新規ブックにて、ユーザ-フォームを一つ作成してください(UserForm1)。 中のコントロールは、コードで配置しますから、何も配置しないでください。 標準モジュールに当該ユーザーフォームを表示するコード '==================================================================== Sub sample() UserForm1.Show End Sub 作成したUserForm1のモジュールに '==================================================================== Option Explicit Private lblcpynm As MSForms.Label Private txtcpynm As MSForms.TextBox Private WithEvents cmdref1 As MSForms.CommandButton Private WithEvents cmdref2 As MSForms.CommandButton Private WithEvents cmdexec As MSForms.CommandButton '==================================================================== Private Sub UserForm_Initialize() With Me .Width = 516 .Height = 189.75 .Caption = "フォルダのコピー" Set lblcpynm = .Controls.Add("Forms.Label.1", , True) With lblcpynm .Caption = "" .Left = 126 .Top = 36 .Width = 324 .Height = 18 .BackColor = &H80000009 .SpecialEffect = 2 .Font.Size = 14 End With Set cmdref1 = .Controls.Add("Forms.CommandButton.1", , True) With cmdref1 .Caption = "参照" .Left = 450 .Top = 36 .Width = 48 .Height = 18 .Font.Size = 9 .TabStop = False End With Set txtcpynm = .Controls.Add("Forms.TextBox.1", , True) With txtcpynm .Left = 126 .Top = 84 .Width = 324 .Height = 18 .Font.Size = 14 .TabStop = False .SelectionMargin = False End With Set cmdref2 = .Controls.Add("Forms.CommandButton.1", , True) With cmdref2 .Caption = "参照" .Left = 450 .Top = 84 .Width = 48 .Height = 18 .Font.Size = 9 .TabStop = False End With Set cmdexec = .Controls.Add("Forms.CommandButton.1", , True) With cmdexec .Caption = "コピー実行" .Left = 18 .Top = 126 .Width = 84 .Height = 30 .Font.Size = 9 .TabStop = False End With With .Controls.Add("Forms.Label.1", , True) .Left = 18 .Top = 36 .Width = 108 .Height = 18 .BackColor = &HFFFF00 .SpecialEffect = 2 .Caption = "コピー元フォルダ" .Font.Size = 14 End With With .Controls.Add("Forms.Label.1", , True) .Left = 18 .Top = 84 .Width = 108 .Height = 18 .BackColor = &HFFFF00 .SpecialEffect = 2 .Caption = "コピー先フォルダ" .Font.Size = 14 End With End With End Sub '==================================================================== Private Sub cmdref1_Click() Dim ffname As Variant ffname = get_folder_path("コピー元フォルダ選択して下さい") If TypeName(ffname) <> "Boolean" Then lblcpynm.Caption = ffname End If End Sub '==================================================================== Private Sub cmdref2_Click() Dim ffname As Variant Dim cpynm As Variant ffname = get_folder_path("コピー先フォルダ選択して下さい") If TypeName(ffname) <> "Boolean" Then cpynm = Split(lblcpynm, "¥") If Right(ffname, 1) <> "¥" Then ffname = ffname & "¥" txtcpynm.Value = ffname & cpynm(UBound(cpynm)) End If End Sub '==================================================================== Function get_folder_path(mes, Optional ByVal opt As Variant = 1) Dim fld As Object Set fld = CreateObject("Shell.Application").BrowseForFolder(0, mes, opt, 0) On Error Resume Next If Not fld Is Nothing Then get_folder_path = fld.items.Item.Path If Err.Number <> 0 Then get_folder_path = False End If Else get_folder_path = False End If End Function '==================================================================== '==================================================================== '==================================================================== Private Sub cmdexec_Click() ' ここにフォルダのコピー処理を記述する End Sub '==================================================================== '==================================================================== これで、sampleを実行してみてください。 ユーザーフォームが表示されます。 コピー元フォルダの右端にある参照ボタンをクリックしてください。 フォルダ選択ダイアログが表示されますので、コピー元のフォルダ選択して下さい。 OKボタンで左隣のボックス(実際はラベル)にフォルダ名が表示されます。 この時、フォルダパスが長すぎて表示し切れなくてもデータは正しく設定されています。 次にコピー先フォルダの右端にある参照ボタンをクリックしてください。 コピー元フォルダの右端にある参照ボタンをクリックしてください。 同じようにフォルダ選択ダイアログが表示されますので、コピー先のフォルダ選択して下さい。 OKボタンで左隣のテキストボックスには、 選択されたフォルダ名+コピー元のフォルダ名の最後の構成要素 が表示されます。 コピー先のフォルダパスに変更があるなら直接変更も可能です。 コピー元フォルダ及び、コピー先フォルダが決定したら、コピー実行ボタンをクリックしてください。 フォルダコピーが行なわれます。 (実際のコピーのコードは記述していませんから、御自分で調べてみてください) ファイルI/Oは、FSOでかなりのことができますが、使い方を間違えると データを消してしまう可能性もありますから、十分にFSOについてテストを行なった後、運用してください。 ichinose ---- ichinoseさん、ありがとうございました。 がんばって試してみます。 (habsburg) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200907/20090709221114.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97054 documents and 608267 words.

訪問者:カウンタValid HTML 4.01 Transitional