-PR-
締切済み

エクセル2000マクロ操作

  • 暇なときにでも
  • 質問No.161812
  • 閲覧数49
  • ありがとう数0
  • 気になる数0
  • 回答数4
  • コメント数0

下記のマクロを記述していますが
Dim msg
msg = MsgBox("データ入力は正しいですか。?", 1, "データ入力確認")
メッセージボックスの表示位置を真ん中でなくて、決めた位置に表示を変えることは
できるのでしょうか?操作方法があれば教えてください。
出来たらマクロ操作でお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

Excel95、97、2000と使っていますが、できないと思っています。新しいバージョンや何か技があるかもしれませんが。

どうしても必要なときは、ユーザーフォームを使って、メッセージボックスと同じようなダイアログを作ったこともありますが、今は無頓着になってきました。真ん中にボンと出しています。

ご参考に。(ならない?)


  • 回答No.2
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。
多分出来ません。私は思いつきません。少なくともVBでは出来ません。
そこで、フリーウェアのOCXなどを使用する方法があります。
下記に1例としてURLを載せておきます。
ただし、私は試してないので、VBAで使えるかどうかはわかりません。
下記以外にもベクターなどで検索して探してみて下さい。
では。
  • 回答No.3
レベル9

ベストアンサー率 32% (34/105)

メッセージボックスではなく、同じような
見かけのユーザーフォームを作成したらい
かがですか?
LoadしてShowする前に、Moveしてやれば
お望みの位置に表示できますよね。
もちろん、メッセージボックスとしての機
能を実現するために、多少フォーム内の処
理は記述しなくてはなりませんけどね。
  • 回答No.4
レベル12

ベストアンサー率 65% (276/422)

WindowsAPIを使用するとできます。

1.SetWindowsHookEx という関数を使用しメッセージボックスをフックする用意2.MSGBOXを呼ぶ
をする。

以下フック関数内での処理
3.GetDesktopWindowでデスクトップのハンドルを得る
4.GetWindowRectでデスクトップの領域座標(解像度)を得て、中心座標を得る。
5.フックした関数の中で、ダイアログの表示位置を設定する。

といった処理が必要になります。
必要であればサンプルを記述しますが、API関数を使用したことがなければ、ちょっと理解しづらいかも知れません。
オリジナルのフォームを作成したほうが楽かも?
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ