質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

4997閲覧

WinSCP等ソフトをインストールせず、サーバーとSFTPファイル転送がしたい(コマンド or VBA or UWSC)

退会済みユーザー

退会済みユーザー

総合スコア0

UWSC

UWSCは、Windowsの作業を自動化するソフトです。マウスとキー入力を記録して代行することが可能。スクリプト形式により自由に編集することもできます。スケジュール機能を持ち、Excelとの連携も可能です。

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

2クリップ

投稿2018/02/09 04:42

編集2018/02/09 04:43

Excel2007を利用しています。
ExcelのVBAで、WinSCPのSFTPで接続しているパスを取得したいと思っています。

セッションの設定
⇒転送プロトコル SFTP
ホスト名(あり) ポート番号(あり)
ユーザー名(あり) パスワード(あり)
コマンドでFTP接続?等色々試しましたが、上手く接続出来ませんでした。

Excelで利用するのは、ファイルのパスをExcelに記載する必要があるためです。
フルパスを記載する必要があるのですが、その人が利用したいものを作成するために
毎回参照先が変わります(フォルダ作成をしたり、画像まで参照したりもします)
その人が利用する全てのパスをExcelに記載したいのです。

ただ、他の人はWinSCPを利用していません。
UWSCのプログラムで無理やり同じ状況になるように設定するか
パスを取得するか等 他の手段が欲しいと思っています。

Excelには、以下のようなデータが入っています。
番号,内容,説明文,テキストリンク,HTMLリンク,画像リンク,動画リンク,図表リンク
1,AがB,AがBな件について,サーバーのXXX.txt,サーバーのXXX.html,サーバーのXXX.jpeg,サーバーのXXXX.mp4,サーバーのXXX.jpg

上記、サーバーのXXX.txt等のファイルは自分のExcelファイルが置いてあるフォルダに置いてあります。
(または、フォルダ名でまとめています)
それをそのまま指定したサーバーに載せてサーバーのアドレスを取得したいです。

やっぱり、WinSCPでないと出来ないでしょうか?
Windowsのコマンド(バッチファイル)またはUWSCで
サーバーとファイル転送ができたら一番良いのですが…。
ソフトをインストールしないで何か方法ありませんか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/02/09 04:46

プロトコルにsftpを使うという時点でなんらかのクライアントソフトをインストールする必要があると思います。Win10ならもしかしてできるかもしれませんが...
退会済みユーザー

退会済みユーザー

2018/02/09 04:53

ありがとうございます! sftpがあまり良くわかっていないので助かります!やっぱり何かインストールしないとダメなのですね。 PCは全員Windows7です。(32bitばかり) うーん、インストール方法からまとめるしかないですかね…
unz.hori

2018/02/09 05:10

WinSCPを使うことに抵抗があるのは他の人達が慣れていないからでしょうか?
unz.hori

2018/02/09 05:16

質問を読む限り、サーバ上のリソースのパスを皆で共有したいというのが目的なのでしょうか?ちょっと質問が整理されていないくて実際に何が欲しいのかが良くわかりません。
退会済みユーザー

退会済みユーザー

2018/02/09 05:25

質問分かりづらくて申し訳ないです。「WinSCPを使うことに抵抗があるのは他の人達が慣れていない」と言うこともあります。WinSCPを使うのはファイルを載せるだけ。Excelにはそのファイルパスを載せるだけ。とはいえ、それが少々面倒なため効率化できないかと思った次第です。Excelと同じフォルダにあるファイルをサーバーに載せてそのパスを取ってくるような仕組みが出来たら良いなという話でした。
unz.hori

2018/02/09 05:28

サーバはLinuxですかね?開発サーバで外とは繋がっていない?という条件であればsambaって手もありますけどね
退会済みユーザー

退会済みユーザー

2018/02/09 05:43

度々ありがとうございます。すみません、サーバーがLinuxかどうかは不明です。私にこの手順を示してきた人がWinSCPだったので、それで行うのがベストな気はします。
unz.hori

2018/02/09 05:46

うーんと、質問の題名だとファイル転送したいって書いてありますがパスが取得したいということですか?想像するに質問主さんはリソース(各種ファイル)の管理をしておりサーバにファイルを配置する作業を行っていてそのパスを周知したいのでは?と思いますが別途リソース管理表みたいなドキュメントを作成(ディレクトリ構成とファイル配置を記述)し、それをメンテナンスして皆で見ればいいのじゃないでしょうか?
退会済みユーザー

退会済みユーザー

2018/02/09 05:48

そうですね、「ファイルを転送したい&そのパスを取得したい」です。現在は私かExcelファイルの作成をしていますが、誰でも出来るものとして共通化したいと思っています。
unz.hori

2018/02/09 05:51

なるほど。サーバがLinuxかどうかもわからないということはsambaをインストールするのは無理そうですね。ではやはりWinSCPでの手順をドキュメント化して皆にレクチャーするしかなさそうですね。その方が質問主さんも慣れているだろうし。
退会済みユーザー

退会済みユーザー

2018/02/09 05:52

ありがとうございます!やっぱりそれしかなさそうですね。UWSCで自動化も考えたのですがPCによって環境も違いそうなのでやり方を検討します。マニュアルは出来てないので、これから作成ですね。ありがとうございました^^
unz.hori

2018/02/09 05:55

ちなみに使っているWindowsのバージョンは何でしょうか?
unz.hori

2018/02/09 06:04

WinSCPもコマンドラインやスクリプト(マクロ)などが使えるのでこれらを駆使すればある程度自動化できるかもしれませんね。また、ローカルディレクトリ(PC側)とサーバ側のディレクトリの同期を取ることもできるみたいです。(参考URL:https://mag.osdn.jp/10/04/20/1033216)。では、健闘を祈りますw
退会済みユーザー

退会済みユーザー

2018/02/12 01:15

Excel2007 はサポートきれてるから会社でつかうなら早急に入れ替えたほうがいいかと・・
退会済みユーザー

退会済みユーザー

2018/03/05 00:26

unz.hori様、何度もありがとうございました!Win7だったり、Win10だったりまちまちですね。
退会済みユーザー

退会済みユーザー

2018/03/05 00:26

asahina1979様 ありがとうございます!会社で利用しているのがExcel2003/2007だけなんですよね。2010とかはまだディスク貰ってないので使ってない人が多いと思います。ソフト関係者に聞いてみますね!ありがとうございます^^
guest

回答1

0

ベストアンサー

SFTPで通信する機能を全てExcelVBAで実装するという話ならば、実装の手間を度外視すれば可能だとは思いますが・・・

ある程度の制約を享受するなら、代替案はいくつかあります。
・Delegate(プロトコル変換ツール)のサーバを仕立てて、SFTP→FTP変換してしまう。
・rsyncでSFTPサーバーとファイルサーバー内のファイルを同期してしまう。

ただ、そもそもSFTPを採用したのはセキュリティ上の配慮からと言う可能性もあります。無闇に迂回方法を用意するのは、セキュリティ上の配慮を台無しにするので問題です。まずはSFTPサーバーを仕立てた担当者と、インストール展開や教育にかかる手間を伝えた上で、代替処置をとれないか相談しては如何でしょう?

投稿2018/02/12 01:11

Kunihiro_Narita

総合スコア472

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/03/05 00:25

ありがとうございました^^ 結局、WinSCPを入れることを目標としました。 ただ、使うのは難しそうな為、設定ファイルを作成し読み込んでもらい ファイルを置く作業だけやってもらうこととしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問