
動作環境
OS:Windows7(64Bit) Home Premium SP1
MS:Office Version2007 SP3
Excel図形内のテキスト編集で、マウスをドラッグしてテキストの領域を選択後、コンテキスト
メニューから、フォント(F)-フォント(設定ダイアログ)画面-[文字幅と間隔]タブ上に、間隔と幅が、
あります(画像参照)。
テキスト設定した場合、vba上から文字間隔と幅を取得する方法が、知りたいです。
それと、カーニングもついでに、取得する方法が、知りたいです。
大体、目途は、付いています。
どなたか、ご指導願います。
■現在、自分が、分かっている文字間隔と幅を取得するPG(URL参照)
http://detail.chiebukuro.yahoo.co.jp/qa/question …
下記の方法ですと、MsgBoxで、[文字間隔を広げる]設定値が取得されます。
For Each wkbWorksheets In ActiveWorkbook.Worksheets
For Each wksShapes In wkbWorksheets.Shapes
With wksShapes.TextFrame2.TextRange.Characters
MsgBox .Font.Spacing
End With
Next wksShapes
Next wkbWorksheets
※[標準]、[文字間隔をつめる]、[カーニング]で、vbaから設定値を取得するには?

No.1ベストアンサー
- 回答日時:
元の値が0なので取得できないと勘違いしたのでしょう。
下記のように自分で指定してみればわかります。
Sub test()
Dim wkbWorksheets As Worksheet
Dim wksShapes As Shape
For Each wkbWorksheets In ActiveWorkbook.Worksheets
For Each wksShapes In wkbWorksheets.Shapes
With wksShapes.TextFrame2.TextRange.Characters
.Font.Spacing = 5
.Font.Kerning = 10
MsgBox .Font.Kerning
MsgBox .Font.Spacing
End With
Next wksShapes
Next wkbWorksheets
End Sub
この回答への補足
カーニング値の取得方法ありがとうございました。
[文字間隔をつめる]設定値の取得は、.Font.Spacingで、マイナス値になるようですね。
[文字間隔を広げる]設定値の取得は、.Font.Spacingで、プラス値になると…。
ご指導ありがとうございました(__)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) 表の縦罫線を移動するピッチ 1 2022/10/12 12:24
- Word(ワード) word 文字数のずれ 2 2023/01/18 10:04
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Word(ワード) wordで文字の感覚を設定したい。 3 2023/02/04 17:30
- Word(ワード) ワード(2013)行間設定について 3 2023/08/08 09:27
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Word(ワード) Word 段落罫線の上下のスペースを広げるには 3 2023/08/04 10:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/01/06 08:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
VBAでActiveDirectoryのユーザ...
-
count(*)で取得した値をJAVAの...
-
PostgresSQL JDBC で Select結...
-
VB.NETで DataRow()を利用して...
-
テキストボックスに表示された...
-
利用者側のMACアドレスを取得し...
-
Spreadの選択行の取得について
-
VBA リストボックス複数選択か...
-
access 和暦をコンボボックスに...
-
VB .netにて現在時刻+1時間後...
-
COMポート 名前を取得する方法
-
VBA Shapesの座標からセル位置...
-
コンボボックス表示文字列を取...
-
VBでGetTickCountを使う
-
_strdate関数について
-
VBA:小数点以下の数字を取得で...
-
【Delphi】自分と現在接続して...
-
DBからもってきた文字を置換...
-
動的SQLのCOUNTのとり方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
Spreadの選択行の取得について
-
PHP8でWarning:Undefined varia...
-
Flexgridで選択行の列の値を取...
-
count(*)で取得した値をJAVAの...
-
VBA Shapesの座標からセル位置...
-
データ数をカウントしたいのですが
-
JavaScriptにおいてコンピュー...
-
利用者側のMACアドレスを取得し...
-
VBA リストボックス内の値を複...
-
like演算子内に変数って使えな...
-
EXCELのリストボックスを選択し...
-
「Excel VBA」 Webクエリ マク...
-
JavaScriptでWindowsログオンID...
-
gethostbyaddrでのホスト名取得...
-
現在時刻をミリ秒まで取得
-
vbaで、オートシェイプ文字幅と...
おすすめ情報