2017-10-17 12 views
0

テキストファイルを生成するVBAコードを作成しました。私はすべてのテキストファイルを生成するために7つの引数をサブメソッドに渡しています。しかし、私は、生成されたファイルをユーザーが選択したフォルダに保存するのが難しいです。コードを実行すると、すべてのファイルがインクルードされたパスに保存されます(これは、私が上で説明したようにする方法を知らないためです)。生成された出力テキストファイルをVBAのユーザーの選択したフォルダに保存するにはどうすればよいですか?

私のコードでは、生成されたすべてのテキストファイルを保存するフォルダをユーザーが選択できるようにするためのパスを組み込んでいます。

Sub TextFiles() 

Dim fso As Scripting.FileSystemObject, Path As String 

'Ask user to save files into a folder 
Path = "C:\Users\samplename\Desktop\TEST" 


'Call sub procedure to generate text files and store them in NewFolderPath 
CreateTxtFiles.CreateTxtFiles Path & "\sample1.txt", 1, "sample1", "sample1_", 7, "sample1_2", 9 
CreateTxtFiles.CreateTxtFiles Path & "\sample2.txt", 2, "sample2", "sample2_", 9, "0", 0 
CreateTxtFiles.CreateTxtFiles Path & "\sample3.txt", 3, "sample3", "sample3", 5, "0", 0 
CreateTxtFiles.CreateTxtFiles Path & "\sample4.txt", 4, "sample4", "sample4", 5, "0", 0 

このような

+0

"私は困難を抱えています... *"何が難しいですか?試してみるとどうなりますか?間違いはありますか?間違ったフォルダに移動しますか?私たちはあなたを助けることができるように具体的にしてください。 – freginold

+0

@freginold、編集をご覧ください。おかげで – Jesus

答えて

1

何かがあなたのために働くべきでEnd Subの:

Sub tgr() 

    Dim ShellFolderPicker As Object 
    Dim FolderPath As String 

    Set ShellFolderPicker = CreateObject("Shell.Application") 
    On Error Resume Next 
    FolderPath = ShellFolderPicker.BrowseForFolder(0, "Select Folder to Save Files:", 0).Self.Path 
    On Error GoTo 0 
    If Len(FolderPath) = 0 Then Exit Sub 'Pressed cancel 

    CreateTxtFiles.CreateTxtFiles FolderPath & "\sample1.txt", 1, "sample1", "sample1_", 7, "sample1_2", 9 

End Sub 
+0

ロック!それはまさに私が探していたものです。ありがとうございました! :) – Jesus

0

あなたは、この情報がお役に立てば幸いプロパティhttps://msdn.microsoft.com/en-us/vba/office-shared-vba/articles/filedialog-selecteditems-property-office

FileDialog.SelectedItemsため
Sub TextFiles() 

Dim MyFolder As FileDialog 
Dim Path As Variant 

Set MyFolder = Application.FileDialog(msoFileDialogFolderPicker) 

With MyFolder 
    .AllowMultiSelect = False 
    If .Show = -1 Then 
     Path = .SelectedItems(1) 
    Else 
    End If 
End With 


'Call sub procedure to generate text files and store them in NewFolderPath 
CreateTxtFiles.CreateTxtFiles Path & "\sample1.txt", 1, "sample1", "sample1_", 7, "sample1_2", 9 
CreateTxtFiles.CreateTxtFiles Path & "\sample2.txt", 2, "sample2", "sample2_", 9, "0", 0 
CreateTxtFiles.CreateTxtFiles Path & "\sample3.txt", 3, "sample3", "sample3", 5, "0", 0 
CreateTxtFiles.CreateTxtFiles Path & "\sample4.txt", 4, "sample4", "sample4", 5, "0", 0 

を探しているかもしれません!

+0

ありがとう、これも働いた:) – Jesus

関連する問題