2017-05-22 11 views
0

ユーザーが自分のフォルダからPDFファイルを選択できるようにするこのVBAマクロが必要です。マクロはPDFを固定フォルダのコピー先にコピーし、コンボボックスで選択された2つの値。ダイアログボックスでユーザーが選択したファイルをコピーして名前を変更するVBA

次のコードを試しましたが、最後の文で失敗します。私を助けることができる人は誰ですか?

Sub add_testrepport() 
    Dim intChoice As Integer 
    Dim strPath As String 

    'allow the user to select one file 
    Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False 

    'make the file dialog visible to the user 
    intChoice = Application.FileDialog(msoFileDialogOpen).Show 

    'determine what choice the user made 
    If intChoice <> 0 Then 

     'get the file path selected by the user 
     strPath = Application.FileDialog(_ 
     msoFileDialogOpen).SelectedItems(1) 

     'copy the file path to filecopy 
     FileCopy strPath, "K:\05_RAP\Klement\Test" 
    End If 
End Sub 
+0

ながら何を見つけましたか?あなたはそれを実行しようとしましたか?何が起こった? –

答えて

0

オクラホマので、ご希望の手順は次のとおりです。combo boxesに基づいて

コードに特定の問題が発生した場合は、それに応じて質問を更新して特定の回答を得てください。

+0

こんにちはdavid、あなたの答えと迅速な返信をありがとう! 私はコードのステップを知っていて、その個々のビットを理解していますが、私が言及したように私は新しいものをやめてしまいます。 – Dyrlund

+0

私は参照してください。あなたの質問を編集し、あなたの "個別のステップ"を掲示して、彼らがうまくいくかどうか、あなたがそれらを結合しようとしたかどうかを教えてください。私はそれであなたを助けることができると確信しています。 –

0

これはやや古いですが、答えを探している場合は、アンダースコアとスペースをmsoFileDialogOpenの前から削除するだけで簡単ですか? Excelにコピーして貼り付けると、最初はコンパイルされません。しかし、それを修正した後、それはうまくいった。つまり、作成したK:\05_RAP\Klement\フォルダにTest(拡張子なし)という名前のファイルがコピーされました。

あなたはファイルの元のファイル名とフォルダであることをテストすることを意図した場合、あなたは(StackOverflowの中にコードを投稿する、空白の後、インデント4つのスペースを2行を残して)このコードを試してみてください:

Sub add_testrepport() 

Dim intChoice As Integer 
Dim strPath As String 
Dim strFName As String 

'allow the user to select one file 
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False 

'make the file dialog visible to the user 
intChoice = Application.FileDialog(msoFileDialogOpen).Show 

'determine what choice the user made 
If intChoice <> 0 Then 

    'get the file path selected by the user 
    strPath = Application.FileDialog(msoFileDialogOpen).SelectedItems(1) 

    ' get file name from path 
    strFName = Mid(strPath, InStrRev(strPath, "\") + 1, Len(strPath)) 

    'copy the file path to filecopy 
    FileCopy strPath, "K:\05_RAP\Klement\Test\" & strFName 

End If 

End Sub 
関連する問題