Excel for Mac 2016 (6.14.1)のVBAでMsgBoxを使うと、vbDefaultButton2がvbDefaultButton1として解釈される。

Anonymous
2018-06-26T01:09:41+00:00

Office  2011からOffice for Mac 2016 (6.14.1)に更新(2018/6/22)後、マクロが以前と同様に動きません。問題の中の一つです。

例えば、次のようなマクロを実行します。


Sub test()

msgstyle1 = vbYesNo + vbQuestion + vbDefaultButton1

            opt = MsgBox("vbDefaultButton1", msgstyle1, "TEST1")

msgstyle2 = vbYesNo + vbQuestion + vbDefaultButton2

            opt = MsgBox("vbDefaultButton2", msgstyle2, "TEST2")

End Sub


すると次のようになります。

次がvbDefaultButton1を使った結果。

次がvbDefaultButton2を使った結果。

どちらも「はい」が標準ボタンとなっていますが、後者は「いいえ」が標準ボタンとなるべきところです。

ちなみに、調べてみると、msgstyle1=36, msgstyle2=292 となっています。

なので、スタイル定数はvbDefaultButton1=0、vbDefaultButton1=256と正しく設定されているようです。

https://msdn.microsoft.com/ja-jp/library/cc410277.aspx

つまり、MsgBoxがスタイル定数を正しく解釈できていないことになります。これ、バグではないでしょうか。

macOS High Sierra (10.13.4)

Office for Mac 2016 (6.14.1)

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません
質問作成者が受け入れた回答
Anonymous
2018-06-26T08:21:59+00:00

​hiroh215 さん、こんにちは。

マイクロソフト コミュニティのご利用、ありがとうございます。

Excel 2016 for Mac で MsgBox 関数が正しく動作しないのですね。

今回書き込んでくださった記述内容を Visual Basic Editor に貼り付けて確認したところ、投稿された画像と同じ状況が再現されました。

※ macOS High Sierra 10.13.5、Office 2016 バージョン 16.14.1 (180613) で確認しています。

念のため Windows 版の Excel 2016 でも試してみたのですが、こちらでは msgstyle2 のほうは 「いいえ」 が標準ボタンになりました。

この件については、以下の手順でフィードバックを送信していただければと思います。

◆ Microsoft Office に関するフィードバックを送信する方法

お手数をおかけしますが、どうぞよろしくお願いいたします。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

0 件の追加の回答

並べ替え方法: 最も役に立つ