すぐに役立つエクセルVBAマクロ集 - すぐマク
Excel VBA Macro
FAQ
検索用語を入力
検索フォームを送信
Web
サイト内
Home
|
What's New!
|
Gallery
|
Introduction
|
Service
|
Profile
500連発・組み方講座フォロー
Big
Color
Pallet
[広告]
Excel VBA Macro
● 開始終了
● ブックシート
● 画面制御
● 行列操作
● セル制御
● 範囲選択
● クリア
● 値の操作
● コピー
● メッセージ
● 印刷
● コントロール 1
● コントロール 2
● フロー制御
● その他
● サンプル
● 関数など
● 引数・定数など
Excel DownLoad
● フリーウェア
● Excel Macro分
● Excel FAQ分
© 1997 - 2007
Yoshioh Nagai.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ その他 ・ FAQ
IEの[ファイルのダウンロード]ダイアログの[開く]ボタンで開いたブックのマクロの動作?
Question
017p その他
拙著「組み方講座・プロの定番」
242ページ 4章1-1 合わせ技[3] ◆ 環境・・ Excel 2003 & Windows XP
No.005の質問
に関連する内容になりますが、マクロよりブック名を指定するケースでのエラーについてご質問致します。
Webアプリケーションで、
ブラウザ(IE6)よりExcel(マクロあり)を開く際に
ダイアログ「開く/保存/キャンセル」が表示され、
「開く」を選択した場合の マクロの動作に関する質問です
。
WebアプリケーションはJava
なのですが、画面上のリンククリックで マクロ付きの
Excelファイルをダウンロードできるもの
になっております。
なお、
ブラウザにExcelを表示するもの
ではなく
Excelを起動するもの
になっております。
クリック時に表示される「このファイルを開くか、または保存しますか?」の ダイアログで、「開く/保存/キャンセル」を選択することができます。
このとき、以下の現象が生じます。
(1)
「保存」を選択した場合
sample.xlsというファイルがローカルに保存されるため、VBAに記述している ブック名(ファイル名)、シート名&セルを取得する際にActiveWorkbookを sample.xlsと解釈できるため、ローカルに保存されたファイルsample.xlsを見つける ことができ、VBAが正常に実行される
(2)
「開く」を選択した場合
sample.xlsというファイルではなく、ファイルがローカルキャッシュ (\Temporary Internet Files配下)に入り、ファイル名に"[1]"が追加され、 sample[1].xlsという名前でキャッシュされるようです。
ところが、このファイルの VisualBasicEditorを開くとウィンドウのヘッダがsample(1).xlsと表記されており、実際、 ActiveWorkbookでもMsgboxを出してみたところsample(1).xlsと解釈されており、 ファイル(sample(1).xls)を見つけることができず、
VBAが正常に実行されない。
エラーメッセージ… 実行時エラー'1004':ピボットテーブルの集計元ファイル'[ファイル名(1)]シート名'を開くことができません。
「開く」とした場合に、ファイルに修飾子"[1]"が追加されるのは仕様の ようなのですが、このときVBAではActiveWorkbookと記述してもThisWorkbookと 記述しても探しに行くファイルが"(1)"付きのsample(1).xlsとなるため、VBAが 正しく動作しないのではないかと考えており、
これを解消する術をご教授頂けますでしょうか
。
Answer
Copyright (C) 2007.4.9 永井善王
拙著「Excel VBA マクロ組み方講座 プロの定番・裏技・合わせ技[編]」をご購読、ありがとうございます。
242ページの合わせ技[3]は 「ほかのブックを開いてそこにあるマクロを実行する」 と題するサンプルです。
ご質問は長文で、一生懸命ご説明いただいています。意味の取り違えがあるといけないので、ポイントと思われるカ所を青字にしておきました。抜き出すと下記のようになるかと思います。ご確認ください。
ブラウザよりExcel
ブック
を開く
と
VBAが正常に実行されない。これを解消する術を・・・
赤字の部分は理解しにくいです。
あなたが
Java
で作成されたのであろう
Excelファイルをダウンロードできる Webアプリケーション
とは、IEを操作するためのものでしょうか?
IEにあるWebページでリンクされたExcelファイルをダウンロードする機能(右図)を、利用しているのでしょうか?
一応、右図の[開く]ボタンをクリックしてブックを開き、そのブックのマクロを実行すると、どうなるかをご説明し、回答とさせていただきます。
結論
[ファイルのダウンロード]ダイアログの[開く]ボタンで開いたブックのマクロの動作は、100%保証されている訳ではないようです。
単純なマクロで動作する場合も相当ありますが、正常動作しない場合があることを私は経験しています。
これはMS社の仕様であり順次改良されるでしょうが、このホームページでのダウンロードでは下記のように呼びかけています。
※ 一旦、ブックをハードディスクに保存し、開き直してから実行してください。
なお、同様にして 1つのブックを開いた場合、ブック名に (1) が付いてしまう現象は、こちらの環境では確認できませんでした。
以上ですが、主旨の取り違えがありましたら、ご連絡ください。