質問: excelvba2000でokとcancelのメッセージボックス こんにちは メッセージボックスで表示されるボタンをokとcancelにしたいのですが、vbokcancel指定ではokとキャンセル(カタカナ)になります。okとcancelにする方法をお教えください。 無理でしたら、ユーザーフォームを使って独自に作りたいのですが、この場合は閉じるボタン(x)が表示されてしまいます。これを消す方法をお教えください。
回答: こんにちは。 vbaのメッセージボックスでは、無理ですのでユーザーフォームを使って 以下のように試してみてください。 public declare function findwindow lib "user32" alias "findwindowa" (byval lpclassname as string, byval lpwindowname as string) as long public declare function getwindowlong lib "user32" alias "getwindowlonga" (byval hwnd as long, byval nindex as long) as long public declare function setwindowlong lib "user32" alias "setwindowlonga" (byval hwnd as long, byval nindex as long, byval dwnewlong as long) as long public const gwl_style as long = (-16) public const ws_sysmenu as long = &h80000 'x ボタンを非表示 public sub xbuttonhide(odialog as object) dim hwnd as long dim lstyle as long ' hwnd = findwindow("thunderdframe", odialog.caption) if hwnd = 0 then hwnd = findwindow(vbnullstring, odialog.caption) end if lstyle = getwindowlong(hwnd, gwl_style) setwindowlong hwnd, gwl_style, lstyle and not ws_sysmenu end sub 'ok/cancel user form private sub userform_initialize() call xbuttonhide(me) end sub