- PR -

IEよりExcelを開いた場合にファイル名に括弧がついてしまう

1
投稿者投稿内容
matchie
会議室デビュー日: 2003/09/19
投稿数: 4
投稿日時: 2007-04-05 13:05
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から「保存」すれば問題はないのですが、「開く」とする
場合の対応方法をご存知であればご教授願います。


[ メッセージ編集済み 編集者: matchie 編集日時 2007-04-05 17:35 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-09 19:04
引用:

matchieさんの書き込み (2007-04-05 13:05) より:

ところが、マクロをVisual Basic Editorで参照するとウィンドウにsample(1).xlsのように”(1)”が表示されており、ActiveWorkbookの名称もMsgBox(ActiveWorkbook)では”sample(1).xls”として取得されるため、ブック名を取得してシートやセルを指定する処理ができずにVBがエラーとなってしまいます。(ThisWorkbookとしても同様)Excelファイルそのものの[1]とVBAの解釈の(1)の相違により、VB側でファイルを見つけられないことによるエラーではないかと考えております。


そもそも、他のブックの面倒は見ないような作りにするのが望ましいです。
少なくとも今回のような用途の場合、名前で管理する方法は望ましいとは言えません。
(Worksheet の場合はかまいませんが)

現状のままですと、Excel.Workbooks から適切な Workbook を探すしか手立てがないと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)