- PR -

EXCELファイルをマクロを無効にして開くには?

1
投稿者投稿内容
yoko
常連さん
会議室デビュー日: 2003/05/09
投稿数: 20
投稿日時: 2004-07-05 19:27
こんにちわ。

VB.netからマクロ付きのEXCELファイルを「マクロを無効にして」開きたいです。
以下のように実行いるのですが、「EnableEvents」プロパティが効かないのか、
マクロが有効の状態で開いてしまいます。
開き方が間違っているのでしょうか?アドバイスよろしくお願いします。

<環境>
Windows2000、WindowsXP
VB.NET2003

------------------------------------------------------------
Try
  xlsApplication = New Excel.ApplicationClass
  xlsApplication.EnableEvents = False
  xlsWorkBook = xlsApplication.Workbooks.Open("C:\\test\\test.xls", readonly:=True, updatelinks:=0)

  Return True

Catch ex As Exception

  Return False
End Try


[ メッセージ編集済み 編集者: yoko 編集日時 2004-07-05 19:35 ]
soluna
ベテラン
会議室デビュー日: 2004/06/15
投稿数: 59
投稿日時: 2004-07-06 14:40
Excel.ApplicationのAutomationSecurityプロパティで、
出来るらしい?
詳細はMicrosoftのnews
news://msnews.microsoft.com:119/eOBlv5BYEHA.2016@TK2MSFTNGP11.phx.gbl
を参照してください。
mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2004-07-06 16:36
Excel2000ならサポート情報が出ているようです。

・XL2000: EnableEvents プロパティは、オートメーション サーバーで動作しません。
http://support.microsoft.com/default.aspx?scid=kb;JA;211626&Product=xlw2kINT

といっても、今回これでは解決できないと思います。
別のBookにDisable_Eventsを定義して、先に呼び出すか。。。
(でもQuitまで戻せないですね)
Workbook_Open(Close)イベントだけならAuto_Open(Auto_Close)サブに変えれば、
OLE呼び出しでは動作しないようにすることができます。
yoko
常連さん
会議室デビュー日: 2003/05/09
投稿数: 20
投稿日時: 2004-07-07 10:43
ご回答ありがとうございます。

「AutomationSecurity」プロパティを試してみましたが、使用できないようです(?)。

EXCELファイルのマクロについては、変更できないので、
呼び出す側(VB.NET)で対処したいと思っています。
1

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