人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル(VBA)について質問です。

現在ハイパーリンクの設定をして、URLをクリックするとそのリンク先に飛ぶ事が出来るようにしているのですが、次はソフトを起動させるようにしたいと考えています。

行いたいことは、ハイパーリンクをクリックするとFFFTPというソフトを起動し、FFFTPの指定してある場所のURLを入力、そしてその画面を開くというものです。

以下のような流れになります。

http://oskuni7.sakura.ne.jp/hatena/question11.htm

お手数をおかけしますがそのようなことは可能でしょうか?

もし可能でしたらプログラムを時間があるかた書いていただけないでしょうか。

お手数をおかけしますがどうぞよろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:FFFTP URL VBA エクセル クリック
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

ご質問のリンク先が 404 エラーになるので、以下、想像で回答している部分があることをご了承ください。


Excelのリンク先を下記のように設定すればできます。

[FFFTPの存在するフルパス名\]ffftp.exe ftp://[FTPユーザー名]:[FTPパスワード]@[FTPサーバ名][フォルダ名]

[]は説明の便宜上、記しているだけです。実際には必要ありません。

フォルダ名は、FTPサーバから見たときのものです。URLと同じとは限りません。


なお、この方法ではFTPパスワードが丸見えになってしまうので、セキュリティの観点から安全とは言えません。


参考サイト

◎質問者からの返答

ご回答ありがとうございます。

実行してみたのですが指定されたファイルを開くことができません というエラーが発生してしまいます。

例えば

フルパス名:C:\Program Files\ffftp

FTPユーザー名:あああ

FTPパスワード:いいい

FTPサーバー名:www1559.aaa.ne.jp

フォルダ名(指定したい場所):/home/oskuni7/www/hatena/

の場合は

C:\Program Files\ffftp\ffftp.exe ftp://あああ:いいい@www1559.aaa.ne.jp/home/oskuni7/www/hatena/

のようにしてみたのですがエラー続いています。

どのようにすればよろしいでしょうか。


2 ● pahoo
●100ポイント ベストアンサー

指定されたファイルを開くことができません というエラーが発生してしまいます

ごめんなさい。Excelのリンクについて勘違いしていました。

下記の WSH ファイルを "C:\hoge.vbs" にセーブし、Excel のハイパーリンクに "C:\hoge.vbs" としてください。

Dim WshShell
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Exec "C:\Program Files\ffftp\ffftp.exe ftp://あああ:いいい@www1559.aaa.ne.jp/home/oskuni7/www/hatena/"

ffftp 単独であれば Excel のハイパーリンクに "file:///C:\Program Files\ffftp\ffftp.exe" を書けば FFFTP が立ち上がるのですが、パラメータがある場合には WSH を使う必要があるようです。

◎質問者からの返答

ご回答ありがとうございます。

プログラム実行できました。ありがとうございます。


3 ● Mook
●100ポイント

Pahoo さんのパクリなので、ポイント不要ですが、

VBA でもシェルは使用できますので、下記のようにしてはどうでしょうか。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If InStr(Target.Value, "/home") = 1 Then
 CreateObject("WScript.Shell").Run """C:\Program Files\ffftp\ffftp.exe"" ftp://あああ:いいい@www1559.aaa.ne.jp" & Target.Value
 Cancel = True
 End If
End Sub

シートモジュールに上記のように設定すれば、

/home/で始まる文字列のあるセルをダブルクリックすると、ffftp を起動します。

「ftp://あああ:いいい@www1559.aaa.ne.jp」の部分は、正しい情報にしてお試しください。

◎質問者からの返答

ご回答ありがとうございます。

試させていただきます。

FFFTPについて残りの質問があるのですが、例えばFFFTP上にあるエクセルにアクセスし、そのエクセルを開き、データ入力後更新、そのデータをFFFTP上で反映されるということをしたいのですが、どうしてもFFFTP上にあるエクセルを保存し更新するということが出来ないのですが、そのようなことは可能でしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ