[[20180323052306]] 『別ブックからのメッセージを操作したい』(kon) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別ブックからのメッセージを操作したい』(kon)

いつもお世話になっています。

現在、自分がつくったブックAのVBAで別ブックBを操作するものを作ろうとしています。

ブックBは他の方が作られたもので、VBAを書き換えたりはできません。

ブックAからブックBを操作した際、VBAで作成された確認メッセージなどが表示されるのですが、そのテキストメッセージの文面で YES/NO を自動で入力したり、表示させなくする方法はないでしょうか?

  「〇〇ですか? YES/NO」→  YESボタンを押した処理にする
 「XXは更新されました」  →  OKボタンを押した処理にするか、表示させない

通常、VBAでエラーが起こった場合表示されるメッセージや、YES/NOのメッセージは、数字で判断して操作ができるとおもうのですが、テキスト文面を判断する方法があれば教えてください。

エクセル:2006?〜2010

< 使用 Excel:Excel2010、使用 OS:Windows7 >


おはようございます。^^
>ブックBは他の方が作られたもので、VBAを書き換えたりはできません。
プロジェクトにパスワードがかかっているのですね。
すごぉ〜く勉強されて、WinAPIを自由に操り、ウインドウズメッセージのフック関数なんか
使いまくると出来そぉな気がしないでもありませんが。やったこと無いのでわかりません。
深い見識をお持ちの他の皆さまの回答をお待ちください。
m(__)m
OKボタン押すくらいなら
センドキーで出来るかお試しを。

(隠居じーさん) 2018/03/23(金) 07:32


失礼しました。Msgboxはモーダル表示らしく、Excel様に制御が戻るまでは何も
出来ないようです。
モーダレス表示のユーザーフォームならセンドキーが使えたと思います。
(隠居じーさん) 2018/03/23(金) 08:07

マクロを書いた方に頼んで、メッセージを出さないモード等の処理追加をお願いするのが一番です。 既に作者が退職されているとか異動していて仕事を頼めないのならば、貴方がマクロを書き換えましょう。

プロジェクトにパスワードがかかっていて、それを解除してもらうことができないならば、貴方が強引に外してしまえば良いです。 パスワードの解除なんて、他アプリのウィンドウを列挙し、全てのクラスから目的の文字列が含まれるものを探すとか、そんな難しくて面倒なコーディングに比べたら、比べものにならないくらい簡単な事ですよ。
(???) 2018/03/23(金) 09:12


隠居じーさんさん、???さん、回答ありがとうございます。

モーダルという概念を文章で見たのは初めてです。
なるほど、メッセージが表示されている間は操作ができないのは、モーダルだったんですね。
ありがとうございます、勉強になります。

???さん、ブックBの制作者さんは他部署にいらっしゃるようですが、全く面識もなく自分はそんな立場にないので、難しいです。
また、強引に解除するのも、自分のレベルでは簡単ではないです。( ;∀;)

(kon) 2018/03/25(日) 03:14


プロジェクトにパスワードにかかている場合であっても一応パスワードを解除する方法があるようなので一度試してみるのもいいかもしれません。

OSのバージョンのExcelのバージョンなどでうまくいく場合といかない場合があるようなので確実ではありませんが^^;

サイトのURLだけ貼らせていただきます。

http://neos21.hatenablog.com/entry/2016/09/30/081709#VBA-のパスワードを解除する

http://puu-0328.hatenablog.com/entry/2017/06/08/171725
(ネギたろう) 2018/03/25(日) 04:13


ネギたろうさん、ありがとうございます。

パスワードですら、破る方法はあるんですねー!

すごいです!
(kon) 2018/03/25(日) 05:02


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.