Basic認証後にExcelファイルをDLするには? 削除
Message#9 2015年8月26日(水)10時42分 From: cherry |
VBAマスターのメッセージ(#8)への返事 いろいろご迷惑をおかけして申し訳ございません。 実は社内ではF社のDocuShareという文書管理ソフトを使用しておりまして、通常そのソフトを使用してのサーバーアクセスになります。 ただVBAやVBSでそのソフトを操作することができず自動化操作のためWebブラウザ(社内統一でIE8しか使用できません)を使用しています。 そのためWindowsのフォルダの形式でそのサーバーにアクセスができません。 手動でのブラウザ操作は普通にHPなどを閲覧するのと変わらないためこの情報は不要と思ってしまっていました。 申し訳ございません。 もしかしたらそのせいで通常のIEとは違う結果になっているのかもしれません。 > BASIC認証がでてくるページのURLは何になりますか? > URLの最後が拡張子xlsxということですが、エクセルファイルのURLに直接アクセスする際にBASIC認証が表示されるのでしょうか? > それともエクセルリンクが貼られているページが表示されるのでしょうか? 上記状況のため最初に指定してアクセスできるログイン用のページはなく、DocuShareサーバー上のフォルダやファイルにアクセスしようとするとログイン画面が出てきます。 URLのアドレスバーにはそのログイン画面のURLは表示されておりません。 また一度認証するとブラウザ画面を閉じるまではログイン画面は出てきません。 DLしたいExcelファイルが入っているフォルダにアクセスしてログインするとフォルダの中身が表示され、該当のExcelファイル名をクリックするとDLダイアログが出現します(ファイル名にリンクが貼られている状態です)。 > 後者であれば、エクセルファイルのリンクをクリックせずにURLDownloadToFileを使えばコピーできると思います。 フォルダのURLを指定してログインしても、何故か(フォルダ内容でもなく)ログイン画面のhtmlが指定したExcelファイル名で保存されてしまいます(開こうとするとエラーになるので拡張子を変えて中身を確認しました。文字化けっていましたがログイン画面でした)。 キャッシュが残っているのかと思いましたが、「DeleteUrlCacheEntry (getURL)」を実行すると「DLLが見つかりません」というようなエラーになるのでコメントアウトにし、実行前に手動でキャッシュを全削除しました。 > あと、社内サーバーということですが、これはApacheが入ったWebサーバーですか?それとも単なるファイルサーバーでしょうか? > 社内サーバーということは、結局ローカルにすぎないので、IEで操作せずにVBAやVBSとかでいけると思うのですが、見解はいかがでしょう。 > Bフォルダにコピーして貼り付けというのが、バックアップのためなのかどうか分かりませんが、単にファイルのコピペでしたら、IE操作はいらないんじゃないかと思った次第です。 > でも、BASIC認証しているということは、ApacheでWebサーバー化しているということだろうとも思いますが、どちらにせよファイルのコピペなら他の簡単な方法があるような気がします。 いろいろ教えていただいてありがとうございます。 自分は事務部門で作業をしているためサーバーの詳細はわからないのですが(どこかを見れば判断できるものなのでしょうか?)、DocuShareに置いてあるままではその後の作業に制限があるため一度ローカルに落とす必要がありました。 IE9以降ならばDL先をIE側で設定できるので最初に教えていただいたSendkeysで「保存」を選択すればいいのかなと思いますし、Chromeならダイアログの表示なくDLも可能だと思うのですが、その使用許可が下りないため足掻いておりました。 DocuShare上ということで何か通常のIEブラウザとは違う制約があるのかもしれません(キャッシュが消えていない可能性もそのせいであるのかもしれません)。 自分だけではできるできないの判断もできず、お騒がせして申し訳ございませんでした。 状況報告をして別案を考えてみようと思います。 お世話になりました、ありがとうございました。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。