- - PR -
VB.NETでマクロを含んだXLTの起動時にエラーがでます!
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-07-22 16:03
お世話さまです。
VB.NET(VS.NET2003)でCSVファイルをカレントフォルダに出力し、 そのCSVを読んで作表するマクロを実装したXLTを起動させているのですが、 EXCELシートの展開後に「HRESULTからの例外です:0x800A9C68。」 というメッセージボックスのエラー表示が出て、「OK」ボタンを押下すると アプリケーションが終了してしまいます。 コードは下記のようになっています。 Dim current_folder As String Dim iExcel As Object 'カレントフォルダの取得 current_folder = System.IO.Directory.GetCurrentDirectory Try iExcel = CreateObject("Excel.Application") iExcel.application.visible = True iExcel.displayalerts = True iExcel.application.workbooks.open(fileName:=current_folder & "\\\\\\\\test.xlt") iExcel.application.run("Auto_Open") Catch ex As Exception MsgBox(ex.Message) End Try トレースをかけてみたところ、application.runの行でこのエラーが でているようです。 もう1つ気になっているのが、EXCELのセキュリティレベルは中(警告する) になているのに警告が出ないで作表されてしまうので、 iExcel.displayalerts = True として警告を表示しているツモリなのですが、表示されていません。 EXCEL自体はきちんと作表されているのでこのエラーさえ 回避できればなんとか次のステップに進めて助かるのですが… どなたかご教示のほど宜しくお願い致します。 |
|
投稿日時: 2004-08-06 17:05
実はあれから起動しているExcelのテンプレートのマクロのプロシジャに
メッセージ文を入れてトレースをかけてみて判ったのですが、 どうやらAuto_Openプロシジャの最後でブック自体を閉じる部分(下記参照)で 当該エラーを出しているようです。 ========================== Sub Auto_Open() ・ ・ ・ If gBook_Name <> "" Then Application.CutCopyMode = False Windows(gBook_Name).Close saveChanges:=False End If End Sub ========================== この部分をコメントアウトするとエラーは出なくなったのですが、 当然の如くブック(test.xlt)が開いたままになります。 Book1の保存の有無はユーザの判断に任せ、このtest.xltのみVB側から 閉じたいのですが、どのようにすれば実装可能でしょうか? ご教示頂けると助かります。m()m |
1
