Microsoft 製品に組み込まれている Visual Basic の実装。
Kochigo-chan さん、こんにちは。
返信をしていただきありがとうございます。
VBA に関しての問題についてですね。
1 から 3 まで質問されている動作になるか手元の環境で確認してみました。
【1】 の質問で書かれていた Windows7 + Excel 2010 で作成した UserForm と Frame/ForeColor の色ですが、こちらもグレーのままの動作でした。ただ、 Mac 上の VBA でも ForeColor もプロパティから色を変更することは可能でした。
※ 色の変更はプロパティからカラーの画面で青や赤などに変更はできました。
【2】 で書かれた動作は Excel for Mac 2011/VBA (ver.14.3.1) で作成した UserForm のプロパティで設定した Caption 名の動作を確認してみたのですが文字化けが見られました
※ Mac で作成した時のフォントは [Lucida Grande] で作成。
※ Mac で作成 → Windows 上で開くで確認ができました。
Caption のプロパティから変更できるかフォントを変更してみてみるなどの方法で確認したのですが、文字化けはこちらの方法からでは戻すことができませんでした。。
【3】 で書かれた動作も確認してみたのですが Windows で作成 → Mac へ、 Mac 作成 → Windows 側へ移動したどちらの方法でも UserForm 上の Command Button の BackColor は変更ができました。
※ BackColor の横にあるプルダウンをクリックすると色の選択ができました。
※ 以下の画像は Mac 環境で作成した Excel ファイルを Windows 環境で開いています。
質問の回答になっていないところはあると思うのですが、フォントに関しては Mac OS と Windows で使用されているフォントが違うため起きる動作なのかなと思われます。有力な回避策も見つけ出すことができなかったので、書かれている UserForm_Initialize() で設定する方法がよいと思います。
色が変わってしまう動作についてはこちらではできる動作でしたが、もしかすると内容が違っているところがあるかもしれないので、その場合は遠慮なく指摘してみてください。
参考となればよいのですが、何かお気づきの点や確認してみた結果についても返信をお待ちしています。