VBAにサーバー上のフォルダを作成させようとしています。以下のコードは正常に動作します:VBAを実行するUnixコマンドで実行時エラーが発生する5
Public pUser As String
Public pPass As String
Public pHost As String
Public cmd2 As Variant
Sub PlinkUserInfo()
Const cstrSftp1 As String = "C:\Program Files (x86)\PuTTY\plink.exe"
pUser = InputBox("Please enter your Putty username")
pPass = InputBox("Please enter your Putty password")
pHost = Workbooks("Robot Model.xlsm").Worksheets("Preparation").Range("C6").Value
pCommand = "cd /busbank/home; mkdir test3"
cmd2 = cstrSftp1 & " -l " & pUser & " -pw " & pPass & " -P 22 -2 -ssh " & pHost & " " & pCommand
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStlye As Integer: windowStyle = 1
Debug.Print cmd2
Call Shell(cmd2, vbNormalFocus)
End Sub
しかし、私は二つの部分にこのコードを壊したく、以下のように、他のマクロとは別にそれらを呼び出す:
Public pUser As String
Public pPass As String
Public pHost As String
Public cmd2 As Variant
Sub PlinkUserInfo()
Const cstrSftp1 As String = "C:\Program Files (x86)\PuTTY\plink.exe"
pUser = InputBox("Please enter your Putty username")
pPass = InputBox("Please enter your Putty password")
pHost = Workbooks("Robot Model.xlsm").Worksheets("Preparation").Range("C6").Value
End Sub
Sub PlinkRunCommand()
cmd2 = cstrSftp1 & " -l " & pUser & " -pw " & pPass & " -P 22 -2 -ssh " & pHost & " " & pCommand
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStlye As Integer: windowStyle = 1
Debug.Print cmd2
Call Shell(cmd2, vbNormalFocus)
End Sub
Public pCommand As Variant
Sub SetUpRemoteFolder()
Call PlinkUserInfo
pCommand = "cd /busbank/home; mkdir test3"
Call PlinkRunCommand
MsgBox ("The server folder is successfully created.")
End Sub
コールシェル部分は私が時間を実行していますエラー5、プロシージャコールまたは引数が無効です。誰でも知っている理由は?
パスを引用していないので、 'c:\ program'という名前のプログラムを実行しようとしています。引数は' files(x86)\ putty \ plink.exe'です。 –