ExcelにVBAコードを書きました。私はSFTPとファイルpscp.exeを使ってテキストファイルを自分のサーバーに転送しようとしています。ファイルは転送されず、pscp.exeのウィンドウが表示されます。pscp.exeを使用してVBA + ExcelのUnixサーバーにファイルを転送するときに「サーバーのホストキーがキャッシュされていません」
サーバーのホストキーがレジストリにキャッシュされていません。
は、私は次のようなメッセージが表示されます。サーバーがあなたが思っているコンピューターであるという保証はありません。 ssh-rsa XXXX XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XXこのホストを信頼する場合は、 y "を押してPuTTYのキャッシュにキーを追加し、接続を続けます。キーをキャッシュに追加せずに一度だけ接続を続けたい場合は、「n」と入力します。このホストを信頼しない場合は、Returnキーを押して接続を破棄します。キーをキャッシュに保存しますか? (y/n)
問題を解決するにはどうすればよいですか?
Dim Polku As String
Polku = "/"
Dim Palvelin As String
Palvelin = "grid1.example.xxx"
Dim Kayttajatunnus As String
Kayttajatunnus = "[email protected]"
Dim Salasana As String
Salasana = "Password2012"
Dim Tiedosto As String
Tiedosto = "filename.txt"
Dim PolkuOhjelma As String
Dim PolkuTiedosto As String
If Right$(ActiveWorkbook.Path, 1) <> "\" Then
PolkuOhjelma = ActiveWorkbook.Path & "\pscp.exe"
PolkuTiedosto = ActiveWorkbook.Path & "\" & Tiedosto
Else
PolkuOhjelma = ActiveWorkbook.Path & "pscp.exe"
PolkuTiedosto = ActiveWorkbook.Path & Tiedosto
End If
Dim Siirtokomento As String
Siirtokomento = Chr$(34) & PolkuOhjelma & Chr$(34) & " -sftp -l " & Kayttajatunnus & _
" -pw " & Salasana & " " & Chr$(34) & PolkuTiedosto & Chr$(34) & " " & _
Palvelin & ":" & Polku
Debug.Print Siirtokomento
Shell Siirtokomento, vbNormalFocus
コマンドウィンドウを開いて「Siirtokomento」コマンドに貼り付けて実行すると、どうなりますか? –
[この回答](http://stackoverflow.com/a/41416923/4088852)を参照してください。 plinkに特有ですが、pscp.exeがstdoutに出力する場合は、おそらく同様の方法を使用できます。 – Comintern
'Siirtokomento'の価値は何ですか? 'PolkuOhjelma'の後に' Chr $(34) 'を2つ持っているのはなぜですか? –