![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Webアプリケーションで、ブラウザ(IE6)よりExcel(マクロあり)を開く際に
ダイアログ「開く/保存/キャンセル」が表示され、「開く」を選択した場合の
マクロの動作に関する質問です。
「開く」を選択した場合、もとのExcelのファイル名がsample.xlsであれば
ファイルがsample[1].xlsのように”[1]”が自動的に付与されます。
(参考:http://support.microsoft.com/kb/325630/ja)
ところが、マクロをVisual Basic Editorで参照するとウィンドウに
sample(1).xlsのように”(1)”が表示されており、ActiveWorkbookの
名称もMsgBox(ActiveWorkbook)では”sample(1).xls”として取得されるため、
ブック名を取得してシートやセルを指定する処理ができずにVBがエラーと
なってしまいます。(ThisWorkbookとしても同様)
Excelファイルそのものの[1]とVBAの解釈の(1)の相違により、VB側で
ファイルを見つけられないことによるエラーではないかと考えております。
ファイルをIEから「保存」すれば問題はないのですが、「開く」とする
場合の対応方法をご存知であればご教授願います。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
状況がいまいち解らないのですが…私がバカなのかもしれませんが…
ASPでExcelファイルをダウンロードさせて、クライアントでそのExcelファイルを開き、そのファイルに含まれるマクロを走らせて処理をするってことですか?そのファイル名がsample.xlsじゃなくてsample.doc.xlsみたいな形ってことですか?
>名称もMsgBox(ActiveWorkbook)では”sample(1).xls”として取得されるため、
なら、ThisWorkbookじゃなくてActiveWorkbookじゃダメなんですか?
この回答への補足
ご回答を頂き、ありがとうございます。
説明が不十分で申し訳ありません。
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が正常に実行されない
「開く」とした場合に、ファイルに修飾子"[1]"が追加されるのは仕様の
ようなのですが、このときVBAではActiveWorkbookと記述してもThisWorkbookと
記述しても探しに行くファイルが"(1)"付きのsample(1).xlsとなるため、BVAが
正しく動作しないのではないかと考えており、これを解消する術をご教授頂きたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのシートの数を数えた...
-
VLookupで参照する範囲を変数で...
-
vlookup関数の引数を変数で指定...
-
ファイルを開かずにマクロを実行
-
エクセルマクロ 異なるファイ...
-
フォルダ内のブック全部にパス...
-
ハイパーリンクの自動設定マクロ
-
IEよりExcelを開いた場合にファ...
-
Accessのaccdbファイルを起動で...
-
エクセルマクロで不特定なファ...
-
EXCEL VBA 指定したファイルが...
-
フォルダ内の複数ファイルの一...
-
新規 xlsmファイルにする方法...
-
ISOファイルとMDSファイル
-
ccdファイルはどのようにして使...
-
差し込み印刷の元データファイ...
-
PCで作ったwordをスマホで編集...
-
エクセルでファイル名が毎回違...
-
勝手に読み取り専用ファイルに...
-
生鮮MDシステムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
フォルダ内のexcelファイルを順...
-
VBAでワークブックの名前を変数...
-
エクセル(マクロ)のファイル...
-
エクセルのxls形式からxlsx形式...
-
エクセル 複数ファイルの一括...
-
エクセルのシートの数を数えた...
-
【マクロ】名前を保存する際に...
-
【Excel VBA】ファイル名が一...
-
ファイルを開かずにマクロを実行
-
accessフォルダを移動したらフ...
-
フォルダ内のブック全部にパス...
-
vlookup関数の引数を変数で指定...
-
Excel VBA でファイルが開かれ...
-
ファイルの保存場所を変えたら...
-
Accessのaccdbファイルを起動で...
-
リンク切れチェックを行うマクロ
-
エクセルマクロ 異なるファイ...
-
データ参照先が別ファイルの場...
おすすめ情報