3

ページのヘッダーセクションに書き込むコードのセクションがあります。問題は、ヘッダーに書き込まれる文字列に「&」記号が含まれる場合があることです。VBAは、文字列の一部であっても、&と次の文字をコードの一部として自動的に表示するため、これはコードに干渉します。

ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & vbNewLine & aString

aStringに「&」記号が含まれていない場合は、すべてがうまく機能します。太字のサイズ14の一番上の行に続いて、2行目にサイズ16のイタリック体のaStringテキストが表示されます。

aStringが「B&SCompany of Greatness」のようなものである場合、文字列に「&S」が含まれているため、ヘッダーには「CompanyofGreatness」が削除されます。

どうすればこれを回避できますか?文字列で「&S」を検索し、別の&Sを挿入して手動で補正してキャンセルしますが、「&」記号が出現するのは&Sだけではない可能性があります。

これを回避するための最良の方法は何ですか?適切に調光することは、Excelに文字列値としてのみaStringを読み取り、その内容を不適切に適用しないように指示することで役立ちますか?

4

1 に答える 1

1

次のように、文字列内の各インスタンスに2番目のアンパサンドを追加して、アンパサンドをエスケープする必要があります。

aString = Replace(aString, "&", "&&")

ActiveSheet.PageSetup.CenterHeader = "&B&14 Cool New Header for &16 &I" & _
    vbNewLine & aString 
于 2012-08-23T14:54:18.740 に答える