自分のお店を開く時の心構えとは? >>

MS OFFICEカテゴリに投稿後、一件の反応も無かったので旧質問は削除の上板換えします。本題はVBとVBAが異なることはを承知での質問です。


エクセルVBAで取引先のサイトにログインし、請求データをダウンロードしようとしています。
ログインから目的のページに移動/チェックボックス等の処理もできたので
objIE.Document.all.Item("Command.csvFileDownload").Click
とすれば「ファイルのダウンロード」ウィンドウがポップアップするかと思ったら、IEのセキュリティ保護にブロックされてしましました。

「マウスでクリックしたらちゃんとダウンロードできるのに?」と思うのですが、VBAでの操作は危険=ウィルス?と認識されて当然な気もします。

IEのセキュリティレベルを変更せずにVBAでダウンロードまですることはやはり無理なのでしょうか?


該当のタグは以下のとおりです。
<input type="image" name="Command.csvFileDownload" src="/img/hogehoge/btn_download.gif" onclick="noDblClickCheck=true;"onmouseover="this.src='/img/hogehoge/btn_download.gif'" onmouseout="this.src='/img/hogehoge/btn_download.gif'" alt="ダウンロード">

どうぞ宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんばんは。



こちらは、プログラミング・カテゴリですから、ちょっと乱暴な書き方だったかもしれませんが、同じような質問が、Office 側で出ていました。偶然に、こちらのやっていることと、シンクロしていたので、こちらの知っている話をほとんど書いていますから、読んでいただけると分かると思います。

http://oshiete1.goo.ne.jp/qa5446271.html

結論からすると、Office 側の方は、cgiスクリプトでセキュリティを設置した可能性があるので、お手上げしたわけですが、Sinogiさん側のほうは、手段はまだ残されていると思います。

IEオブジェクトを使う限りは、レジストリの変更もやむをえないというところだと思います。ただ、掲示板では、自主規制で書かないようにはしています。教えなくても、分かる人は自分で分かるからです。
    • good
    • 0

#2,#3の回答者です。



>>該当するプログラムで、使用中だけセキュリティを書き換えれば
>で信頼済みサイトの更新ができればうれしいのですが、レジストリ操作はご遠慮したいです m(__)m

もし、プログラマなら、そういうことは背に腹は変えられないと思いますが。それで、誰か別の人間がそれを悪用するとか、問題が起こる可能性があるならやめるしかありませんが、その程度のことはいいと思いますし、そういうツールは良く見かけます。それ以外に、キーボードマクロで対応するという方法もあります。

>objIE.Document.all.Item("Command.csvFileDownload").Click

まあ、このようにIEに依存するから、そういうことになるのかもしれませんが。
    • good
    • 0
この回答へのお礼

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

>もし、プログラマなら、そういうことは背に腹は変えられないと思いますが
当方ITとは無縁の企業で、定例の事務作業を手抜きしようとしているだけの素人です。
なのでレジストリ云々といわれると、早々に尻尾を丸めてします(^^;;

>まあ、このようにIEに依存するから、そういうことになるのかもしれませんが。
でWendy02様が言わんとされていることも理解できない私であれば「IE 信頼済みサイトの更新」はおとなしく手作業で処理するのが安全でしょうか・・・

お礼日時:2009/11/16 19:18

補足:


こちらのほうがよいですね。内容は古いけれどたぶん想像は付くと思います。

http://support.microsoft.com/kb/884429/ja
Internet Explorer の Web コンテンツのゾーンでセキュリティレベルを設定する方法
    • good
    • 0

こんにちは。



>MS OFFICEカテゴリ
 まあ、VBなら、別の方法もあるかと思いますが、Office 系では個別の問題は回答しにくいことが多いです。

>IEのセキュリティレベルを変更せずにVBAでダウンロードまですることはやはり無理なのでしょうか?

Vista +IE7以上ですか?
Vistaは、自分のPCでなかったので試さなかったのですが、IEオートメーションを使うなら、該当するプログラムで、使用中だけセキュリティを書き換えればよいと思います。あまり、プログラマとしてのマナーが良くありませんから、ソースコードは公開はしません。

その内容は、以下で公開されているはずですから、

http://support.microsoft.com/kb/833633/ja
Internet Explorer のマイ コンピュータ ゾーンのセキュリティ設定を強化する方法

を参考にして、管理者特権でレジストリを操作すればよいと思います。

この回答への補足

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

当方の環境はXPSP3 IE6 です。職場PCでバージョンアップの予定はありません。ちなみに、VBAを記述しているのはExcel2002です。

>該当するプログラムで、使用中だけセキュリティを書き換えれば
で信頼済みサイトの更新ができればうれしいのですが、レジストリ操作はご遠慮したいです m(__)m

補足日時:2009/11/14 09:15
    • good
    • 0

インターネットオプションの信頼できるサイトかローカルイントラネットに


該当サイトを登録してみてはいかがでしょうか?
IE8だとクリップボードの取得ですらabout:blankを追加しておかないと動かず、参りました。

この回答への補足

早速のご回答ありがとうございます。
信頼できるサイトに登録したところ、目的のクリックができました。(^^)

しかし、先々の応用/運用を考えると「なんとかコードで対応できないものか」とも思い続けています。

「手作業でできること」を「コードでする」と別判定されるのがなんとも・・・

補足日時:2009/11/14 09:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング