Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


840 / 13645 ツリー ←次へ | 前へ→

【78024】フッタのフォントサイズを取得するには ふるった 16/3/7(月) 17:46 回答[未読]
【78026】Re:フッタのフォントサイズを取得するには 独覚 16/3/8(火) 9:29 発言[未読]
【78027】Re:フッタのフォントサイズを取得するには ふるった 16/3/8(火) 9:59 質問[未読]
【78028】Re:フッタのフォントサイズを取得するには 独覚 16/3/8(火) 10:19 回答[未読]
【78029】Re:フッタのフォントサイズを取得するには ふるった 16/3/8(火) 10:33 お礼[未読]
【78030】Re:フッタのフォントサイズを取得するには 独覚 16/3/8(火) 10:51 発言[未読]
【78031】Re:フッタのフォントサイズを取得するには ふるった 16/3/8(火) 11:07 お礼[未読]

【78024】フッタのフォントサイズを取得するには
回答  ふるった  - 16/3/7(月) 17:46 -

引用なし
パスワード
   フッタの文字をマクロで変更したいのですが、サイズの指定をせずに実行すると
標準サイズに戻ってしまい、中央のフッタと重なってしまいます。
サイズの指定をすれば良いのですが、対象のファイルが大量にあり、
それぞれ最適なサイズが異なります。

現状は最適なサイズが指定されているため、フォントサイズを維持しつつ、
文字のみ変更したいのです。
現在のフッタのフォントサイズを変数に入れ、その変数を指定して
フッタの文字を変更しようとしています。

フッタのフォントサイズを取得する方法をお教え下さい。

【78026】Re:フッタのフォントサイズを取得するには
発言  独覚  - 16/3/8(火) 9:29 -

引用なし
パスワード
   ▼ふるった さん:

以下はマクロの記録で記録したものです。
(該当部分のみ)
左側に「aaaa」と入力し、斜体で文字サイズを「10」に、真ん中に「aaa」と入力、
文字サイズを「72」に、右側に「aaaaa」と入力文字サイズは変更せず(規定)。

>  With ActiveSheet.PageSetup
>    〜
>    .LeftFooter = "&""-,斜体""&10aaaa"
>    .CenterFooter = "&72aaa"
>    .RightFooter = "aaaaa"

さらに
Sub a()
  MsgBox Worksheets("Sheet1").PageSetup.LeftFooter
  MsgBox Worksheets("Sheet1").PageSetup.CenterFooter
  MsgBox Worksheets("Sheet1").PageSetup.RightFooter
  
End Sub

&"-,斜体"&10aaaa
&72aaa
aaaaa
と表示されました。

どうも文字サイズを変更した場合はフッターに設定した文字の頭に「&サイズ」そがつくようです。
また、フッターに数字が設定された場合は
&10 123
のようにフッター文字とサイズの間にスペースが入るようです。

その他の設定などはマクロの記録で確認してみてください。

ヘルプでの説明は
>ブックまたはセクション内の左のフッターで、文字列の配置を取得または設定します。
だけでした。

【78027】Re:フッタのフォントサイズを取得するには
質問  ふるった  - 16/3/8(火) 9:59 -

引用なし
パスワード
   独覚さん

返事ありがとうございます。

一部ドキュメントのフッタにシート名が設定されている事が判明し、
ファイル名に統一することになりました。

PageSetup.LeftFooter = "&10 &F"
と指定すればフォントサイズ10で左フッタにファイル名を設定できる所までは
できているのですが、全てのドキュメントがサイズ10で固定されてしまい、
一部中央フッタと被るのです。

そこで現在のフォントサイズを維持したまま
フッタをシート名からファイル名に変更したいのです。
(シート名長さとファイル名の長さが同じため、
サイズを維持すれば被らない。
ただし、フォントサイズはドキュメント毎に異なる)

現在のフォントサイズを維持する事を目的に、現在のフォントサイズを変数に
引っ張り込みたいのですが、なにか良い案はないでしょうか?

よろしくお願い致します。

【78028】Re:フッタのフォントサイズを取得するには
回答  独覚  - 16/3/8(火) 10:19 -

引用なし
パスワード
   ▼ふるった さん:
文字列操作で文字サイズ部分だけ抜き出す方法もありますがReplace関数を使って「&A」
(シート名)を「&F」(ファイル名)に置き換えてはどうでしょう?

Sub test()
  With Worksheets("Sheet1").PageSetup
    .LeftFooter = Replace(.LeftFooter, "&A", "&F")
  End With
End Sub

これだとフッター中の文字サイズ部分は変わりません。

【78029】Re:フッタのフォントサイズを取得するには
お礼  ふるった  - 16/3/8(火) 10:33 -

引用なし
パスワード
   独学さん
ありがとうございます!!
シート名→ファイル名の変更ができました。

お手数ですが、文字列操作で文字サイズ部分だけ
抜き出す方法もお教え願えないでしょうか?


▼独覚 さん:
>▼ふるった さん:
>文字列操作で文字サイズ部分だけ抜き出す方法もありますがReplace関数を使って「&A」
>(シート名)を「&F」(ファイル名)に置き換えてはどうでしょう?
>
>Sub test()
>  With Worksheets("Sheet1").PageSetup
>    .LeftFooter = Replace(.LeftFooter, "&A", "&F")
>  End With
>End Sub
>
>これだとフッター中の文字サイズ部分は変わりません。

【78030】Re:フッタのフォントサイズを取得するには
発言  独覚  - 16/3/8(火) 10:51 -

引用なし
パスワード
   ▼ふるった さん:
単純に左側のフッターにシート名表示でフォントサイズを変えてある場合です。

&10&A
となっている場合。

Sub test()
  Dim a  As Integer
  
  a = Replace(Replace(Worksheets("Sheet1").PageSetup.LeftFooter, "&A", ""), "&", "")
  MsgBox a
End Sub

他の設定も行っている、などがあればそれも考慮してVBAを組み立てることになります。

【78031】Re:フッタのフォントサイズを取得するには
お礼  ふるった  - 16/3/8(火) 11:07 -

引用なし
パスワード
   独覚 さん

ありがとうございました!
教えて頂いた方法で対応します。
助かりました。

840 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free