• ベストアンサー

エクセルVBAで右向三角▶

watabe007の回答

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

Option Explicit Private Declare PtrSafe Function MessageBoxW Lib "User32" (ByVal hWnd As LongPtr, ByVal lpText As LongPtr, ByVal lpCaption As LongPtr, ByVal uType As Long) As Long Public Function MsgBoxW(Prompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String = "Microsoft Access") As VbMsgBoxResult Prompt = Prompt & vbNullChar 'Add null terminators Title = Title & vbNullChar MsgBoxW = MessageBoxW(Application.hWnd, StrPtr(Prompt), StrPtr(Title), Buttons) End Function Sub Test() Dim s As String s = ChrW(9654) MsgBoxW s End Sub

参考URL:
https://codeday.me/jp/qa/20190620/1053980.html
emaxemax
質問者

お礼

ありがとうございます。 API関数ですか・・・・ ここまで大掛かりにやらないと右向三角▶はメッセージボックスに表示できないのですね。

関連するQ&A

  • エクセルVBA

    エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。

  • エクセルVBAでメッセージを表示する

    エクセルVBAでメッセージを表示する時は、 Msgbox "表示する内容" と記述しますが、これだと[OK]をクリックするまで エクセル本体が全く操作できなくなってしまいます。 メッセージボックスを表示させた状態で、エクセルを操作できるようにすることは 出来ますでしょうか?

  • VBAを実行しないと開けないエクセルファイル

    タイトルのようなエクセルファイルを作りたいです。 閲覧者がVBAの実行を認めない限り、閲覧不可にしたいのです。もし認めない場合はメッセージボックス等で「開くことができません」と表示され、エクセルが閉じるようにしたいです。 どのようなVBAのプログラムを組めば実行できますか?

  • Excel VBAメッセージボックスの表示位置が右下になってしまう

    ExcelのVBAでメッセージボックスを作成しましたが、 表示される位置がなぜが画面右下の端っこになってしまいます。 通常通り画面中央にメッセージボックスが表示されるにはどうすればよいでしょうか? またこうなってしまった原因はなんでしょうか? VBA初心者です。よろしくお願いします。

  • エクセルVBAについて

    今、エクセルVBAでマクロの作成を行っています マクロの中で、作業用に別なエクセルとシートを作成したのですが マクロの最後でその作業用のエクセルとシートを削除する用にしました。 その際に、エクセルがメッセージボックスが開き 『このエクセルブックを閉じますか』や『このシートを削除してよろしいですか』などと聞いてきます。 このボックスを出さないように強制的に消すことは出来ないのでしょうか? 出来るのであれば、やり方を教えてください。

  • エクセルのVBAのこと

    図形描画四角形を作り、印刷するVBAを登録しました。 四角形をクリックすると印刷されたのち、「注意」のメッセージボックスがでるようにしました。 その「注意」のメッセージボックスを大きく表示したいのですが、どうすればできるのでしょうか? 難しい操作が必要ですか?

  • VBAについてわからないことがあります・・

    VBAでメッセージボックスに「新年の挨拶」(内容は自由)を表示するものを作成する。 また、それについて、エクセルにボタンをつくり、ボタンをクリックすれば、表示されるようにする。 この問題が自分なりに調べたんですがわかりませんでした(・.・;) ご回答よろしくお願いします。

  • Excel VBAのエラー

    Excel VBAのエラーについて教えてください。 エラーメッセージが"400"とだけ表示されるのですが、 これって何なんでしょうか?

  • エクセルVBAにて

    エクセルのVBAでMsgbox関数を使用して Msgbox("計算が終わりました")というように記述 したのですが、マクロを実行してもメッセージが 表示されません。 どなたか教えてください。 よろしくお願いします。

  • VBAのメッセージボックスで%表示

    お世話になります。 VBAにて、算出されたある数字をメッセージボックスで %表示したいのですが、エクセルシートであれば、表示させる セルを決め、そのセルの表示形式を「パーセンテージ」にすれば いいのですが、メッセージボックスで表示させたいのです。 可能なのかどうか分かりませんが、ご教示頂きたく宜しく お願い申し上げます。