====== Win32 APIのMessageBox関数を呼び出す ======
作成日: 2023-08-21 (月)
[[https://youtu.be/FdMl7wsXkOA|第1回 Win32 APIのMessageBox関数を呼び出す]]
{{:youtube:messagebox1.png?400|MessageBox}}
===== 標準モジュール Win32 =====
当方が使用しているExcel 2000では''LongPtr''がサポートされていないため、ポインタが必要なところで''Long''にしています。
このような古いバージョンでなければ''LongPtr''が使えるはずで、使うべきです。
''MessageBoxA''の''Declare''の場合、''hwnd''が該当します。
Declare Function MessageBoxA Lib "user32.dll" (ByVal hwnd As Long, ByVal Text As String, ByVal Caption As String, ByVal Types As Long) As Long
Public Const MB_OK = &H0
Public Const MB_OKCANCEL = &H1
Public Const MB_RETRYCANCEL = &H5
Public Const MB_YESNO = &H4
Public Const MB_YESNOCANCEL = &H3
Public Const MB_ICONEXCLAMATION = &H30
Public Const MB_ICONWARNING = MB_ICONEXCLAMATION
Public Const MB_ICONINFORMATION = &H40
Public Const MB_ICONATERISK = MB_ICONINFORMATION
Public Const MB_ICONQUESTION = &H20
Public Const MB_ICONSTOP = &H10
Public Const MB_ICONERRO = MB_ICONSTOP
Public Const MB_ICONHAND = MB_ICONSTOP
Function MessageBox(Text As String, Caption As String, Types As Long) As Long
MessageBox = MessageBoxA(0, Text, Caption, Types)
End Function
===== ワークシート Sheet1 =====
Sub test_Win32()
Win32.MessageBox "Hello 世界 from Win32", "はろーはろーはろー", Win32.MB_YESNOCANCEL Or Win32.MB_ICONINFORMATION
End Sub