TextFrame.Characters.Font.Name不会改变中文字体的excel形状

标题几乎告诉了一切。

我的代码如下所示:

sh.TextFrame.Characters.Font.Name = "SimSun" 

此代码只更改所有英文和单字节符号的字体。

所有双字节符号和中文字符保留默认字体。

我也尝试过TextFrame2,结果也一样。

我在Excel 2007上。

任何人可以帮忙? 谢谢。

我在日文中find了一个微软帮助台文章来解释这个问题。

Excel将1字节的英文字符和2字节的中文/日文字符的字体名称分为vba中的不同模块。

解决scheme如下。

 sh.TextFrame2.TextRange.Font.NameFarEast = "SimSun" sh.TextFrame2.TextRange.Characters.Font.Name = "SimSun" 

第一行更改形状文本框中所有2字节字符的字体,第二行更改所有单字节字母的字体。

远东…哇