- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaで、オートシェイプ文字列、下線色取得について)
VBAでオートシェイプ文字列の下線色取得方法とは?
このQ&Aのポイント
- Excelの図形内のテキストの編集で、マウスをドラッグしてテキストの領域を選択後、コンテキストメニューからフォント設定ダイアログ画面に移行し、[フォント]タブ上には下線の色があります。VBA上から下線の色を取得する方法を教えてください。
- 現在分かっている下線の色を取得するためのVBAプログラムを試してみましたが、全てエラーとなります。どなたか、ご教授願います。
- 現在、ExcelのVBAでオートシェイプ文字列の下線色を取得する方法を模索していますが、うまくいっていません。お手数ですが、ご指導いただけますと幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1番目の文字列を含めて色付きアンダーラインを設定してから実行すれば 1文字目のものについて取得できます。 コードを書くときは適当に書いてもだめですから、 ピリオド(.)を打ってそのなかから適切なものを選択すれば下記のようにいくつかのことがわかります。 MsgBox .Font.UnderlineColor.SchemeColor MsgBox .Font.UnderlineColor.RGB MsgBox .Font.UnderlineStyle 前回のレスの通り、すべての文字について調べないといけないので面倒です。 当方はやる気がしないのでご自分で、さらにfor each を使って面倒な判定を設定して取得してください。
その他の回答 (1)
- DreamyCat
- ベストアンサー率56% (295/524)
回答No.1
.Font.Underline.ColorIndexというプロパティは無いようですが そのままだとエラーになりませんか。 そのままでは目的のものを取得できません。 何も取得しないか最初の1文字のぶんだけ取得できるかでしょう。 .Charactersの中もすべての文字について調べる必要があります。 Wordの場合だと書式を指定してアンダーラインの部分1か所ずつの単位で検索されるので簡単なコードで済みますが、エクセルでは1文字ずつでしか取得できません。
補足
はい、エラーになります。 ですので、エラーになる部分をエラーにならないように正しい取得が、 出来るvba(PG)が、知りたいのです。 エラーになる部分は、例として、想定したvba(PG)です。 ご指導の程、よろしくお願いします(__)。