VBAの動作はネイティブAPI上ではどのような仕組みかご存知の方いらっしゃいますでしょうか?

解決


AddRef/Releaseって実装に決  2009-03-06 01:25:22  No: 69775  IP: [192.*.*.*]

VBAから実行されるSaveAsを制御したいと思っています。

マクロ自体の禁止ではなく、特定のマクロの実行を禁止したいです。
そこで、VBも背後ではネイティブAPIが走っているのだろうから何かしら
フックする手段があるのではないかと調べようと思うのですが、まずはじめ
にどこからつついていけばよいのか考えあぐねています。

インタープリタなので一文一文解釈しているようなAPIとかあるのでしょう
か…

もしお詳しい方がいらっしゃればご教授頂ければ幸いです。
質問内容が漠然としていて申し訳ありません…

よろしくお願いします。

編集 削除
maru  2009-03-06 09:55:30  No: 69776  IP: [192.*.*.*]

SaveAsをフックできたとして、その実行を制御できちゃったらVBAのSaveAs
だけでなく、そのアプリケーションの「名前を付けて保存」までできなく
なっちゃいません?
SaveAsなんかはWindowsAPIなんか使ってないと思うけどフックなんかでき
るのかな?ネイティブAPIが何を指しているか知らないけど。

そもそもなんで
> VBAから実行されるSaveAsを制御したいと思っています。
なんて思っているのかよくわからない。
VBAで動作しているプログラムがあるけど、その中のSaveAsを実行する部分
を動作させたくないから?そうだったっらそのプログラムを修正するのが
筋でしょう。

編集 削除
熊谷隆史  2009-03-06 11:12:25  No: 69777  IP: [192.*.*.*]

こんにちは。
お望みの回答は存在します。
APIフックの様なイメージで、想像されているのでしょうかね。
こちらで質問されてはどうでしょうか。
http://moug.net/faq/viewforum.php?f=2
# 移られるならマルチポストにならない様に、こちらは閉じて行ってください。

編集 削除
イベントハンドラで捕まえたオブジェクトは  2009-03-07 00:15:42  No: 69778  IP: [192.*.*.*]

名前は気にしないでください。

> maruさん
お返事有難うございます。
別名保存禁止がずばりやりたいことです。
Windowsの内部構造がC言語である以上、VBないしはVBAもカーネルAPIでも
何でも構わないので何かしらのWindows API上で動作していると考えており
ました。

> 熊谷隆史さん
お返事有難うございます。
まさにそういうイメージです。
単純なイベントシンクではPowerPoint2000でイベントが公開されていない
というのがネックです。
(PowerPointのイベント自体他に比べ非常に少ない。)
ご紹介頂いた掲示板にてご質問をさせて頂きたいと思います。

こちらは解決済みとさせて頂きます。

ありがとうございました。

編集 削除
同上  2009-03-07 00:16:50  No: 69779  IP: [192.*.*.*]

チェックを忘れました。

編集 削除