• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでSetTextColorがうまくいかない)

VBAでSetTextColorがうまくいかない

このQ&Aのポイント
  • EXCELのVBAでユーザーフォームを使ったグラフィック表示のプログラムを作っているのですが、SetTextColorでテキスト色の設定をしようとしてもうまくいきません。
  • 何故か設定しようとする色の値が無視されて「1304008」が設定されてしまいます。(GetTextColorで確認) そしてそれ以降何を設定してもこの状態のままです。
  • SetBKColorやAngleArcなど他のグラフィック命令は問題なく動いていてSetTextColorだけがうまくいってない状態です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

crColorが値渡し(ByVal)になっていないのが原因だと思います。 Private Declare Function SetTextColor Lib "gdi32" _ (ByVal hdc As Long, crColor As Long) As Long   ↓ Private Declare Function SetTextColor Lib "gdi32" _ (ByVal hdc As Long, ByVal crColor As Long) As Long このようにAPI宣言を書き換えて試してみてください。

brave33
質問者

お礼

うおおおおおおおお! 回答を見た瞬間唸ってしまいました。 この一文はどこかからコピペってきたのですが、 それが間違えてるとは・・・さんざんプログラム(あくまで本文のみ) を見直してあらゆることを試してもわからず1日潰してしまいました。 プログラマの「合ってるはずだ」は厳禁なのに、無意識にやって しまってたんですね。 ありがとうございました!

関連するQ&A