-1
VBAを使用してUNIXに接続し、サーバーから一連のファイルをダウンロードしています。しかし、私は "実行時エラー13.タイプミス"私の "cmd5"の行との間違いが発生します。コードは次のとおりです。VBAを使用したUnixコマンドと配列の取得タイプの不一致エラー
Sub DownloadFirstRunFilesPart2()
Application.StatusBar = "Downloading files..."
Dim wsh As Object
Dim errorcode4 As Integer
Dim cmd5 As Variant
Dim FirstRunFiles(5) As Variant
Dim var As Variant
'Files that need to be downloaded
FirstRunFiles(0) = ProN & "_KSParameter_UserInput.xlsx"
FirstRunFiles(1) = ProN & "_KSParameter_SysOutput.xlsx"
FirstRunFiles(2) = ProN & "_ModelParameter_UserInput.xlsx"
FirstRunFiles(3) = ProN & "_ModelParameter_SysOutput.xlsx"
FirstRunFiles(4) = ProN & "_VarClusParameter_UserInput.xlsx"
FirstRunFiles(5) = ProN & "_VarClusParameter_SysOutput.xlsx"
'Connect to server and run loop to download files. Error occurs in "cmd 5" line
For Each var In FirstRunFiles
cmd5 = Chr(34) & "C:\Program Files (x86)" & "\PuTTY\pscp.exe" & Chr(34) & " -sftp -l " & pUser & " -pw " & pPass & _
" " & " " & pHost & ":" & ServerPath & "/" & FirstRunFiles(var) & " " & LocalPath & "/"
Set wsh = CreateObject("wscript.shell")
errorcode4 = wsh.Run(cmd5)
'Get feedback and display error message
If errorcode4 <> 0 Then MsgBox ("Error occurs. Fail to download " & FirstRunFiles(var))
Next var
Application.StatusBar = "Download complete"
End Sub
誰かを教えてください。どうもありがとう!!
あなたがcmd5' 'の値を出力し、デバッグ行を追加する必要があります。それをコピーして端末環境に貼り付け、それが動作するかどうかを確認します(私はそれが期待できません)。どのエラーメッセージが表示されているのかを確認し、エラーメッセージを排除してコードを修正し、プロセスを動作させます。がんばろう。 – shellter
の 'errorcode4 = wsh.Run(cmd5)'行の前に 'Debug.Print cmd5'を実行する行を挿入し、' wsh.Run(cmd5) '命令/行にブレークポイント(F9)を挿入します。マクロを実行します。実行が停止すると、*即時ペイン*(Ctrl + G)の内容を確認します。それは正当なコマンドのように見えますか?必要に応じて調整します。 –
私はそれらの方法を試みました。みんなありがとう! – vivi11130704