2017-08-03 10 views
1

PuTTYを使用してログインしてコマンドを実行するVBAマクロを作成しようとしています。以下のコードが使用されています。 ' - ファイルが見つかりません 'VBAマクロからPuTTYを使用してシェルスクリプトを呼び出して実行する方法

Sub open_putty() 
    Dim UserName 'assign user name 
    Dim Passwrd 'assign password 
    Dim TaskID As Long 
    UserName = "user name" 
    Passwrd = "password" 
    pc1 = "C:\Program Files (x86)\PuTTY/putty.exe -ssh " & UserName & "@ip address -pw " & Passwrd 
    pc2 = "putty.exe -m ""C:\Temp\emu.sh""" 
    TaskID = Shell(pc1, 1) 
    TaskID = Shell(pc2, 1) 

End Sub 

スクリプトは

' 実行時エラー' 53というエラーがスローされます。

助けてください。スペースで

答えて

0

ファイルのパスは引用符で囲む必要があります。

Sub open_putty() 
    Dim UserName 'assign user name 
    Dim Passwrd 'assign password 
    Dim TaskID As Long 
    UserName = "user name" 
    Passwrd = "password" 
    pc1 = """C:\Program Files (x86)\PuTTY\putty.exe"" -ssh " & _ 
      UserName & "@ip address -pw " & Passwrd 
    pc2 = "putty.exe -m ""C:\Temp\emu.sh""" 
    TaskID = Shell(pc1, 1) 
    TaskID = Shell(pc2, 1) 

End Sub 
2
  • あなたはそれにスペースが含まれているとして、パテへのパスを引用しなければなりません。

  • また、putty.exeを2回実行します。代わりに、あなたはputty.exe

pc1 = """C:\Program Files (x86)\PuTTY\putty.exe"" " & _ 
    "-ssh " & UserName & "@ip address -pw " & Passwrd & " -m ""C:\Temp\emu.sh""" 
TaskID = Shell(pc1, 1) 

の単一のインスタンスにすべてのこれらのパラメータを渡すために持っていて、自動化することを意図しPuTTYのツールが何であるか、plink.exe代わりのputty.exeを使用することを検討すべきです。 PuTTYは、対話的な使用を目的としたGUIアプリケーションです。

関連する問題