如题,上网找了很多,终于解决了 VC 控制 Word 写入页眉页脚的方法,但是还需要一个功能,那就是插入自动图文集,也就是类似于 "第 X 页 共 Y 页" 的自动图文集。
VBA 里的代码是:NormalTemplate.AutoTextEntries("第 X 页 共 Y 页").Insert Where:=Selection. _
Range, RichText:=True
但是在 WORD 的类库中中找不到相关类和函数,只找到如下的一些相关的信息:1、Selection::CreateAutoTextEntry(LPCTSTR Name, LPCTSTR StyleName)
2、Template::GetAutoTextEntries()
3、Range::InsertAutoText()
4、AutoTextEntry 类
用 Range::InsertAutoText 插入自动图文集,就异常为 “区域不指定已知的“自动图文集”词条” 错误,上网也查了很久,没找到什么资料,这个问题该怎么解决啊!
VBA 里的代码是:NormalTemplate.AutoTextEntries("第 X 页 共 Y 页").Insert Where:=Selection. _
Range, RichText:=True
但是在 WORD 的类库中中找不到相关类和函数,只找到如下的一些相关的信息:1、Selection::CreateAutoTextEntry(LPCTSTR Name, LPCTSTR StyleName)
2、Template::GetAutoTextEntries()
3、Range::InsertAutoText()
4、AutoTextEntry 类
用 Range::InsertAutoText 插入自动图文集,就异常为 “区域不指定已知的“自动图文集”词条” 错误,上网也查了很久,没找到什么资料,这个问题该怎么解决啊!
解决方案 »
- 我想问下一个关于MFC窗口调用的问题
- 怎样读取并修改BMP图像的颜色信息?
- 100分 我已经HOOK了Send函数,也获取了Cookie,可怎么修改能让浏览器跳转到我指定的网页
- m_wndStatusBar.SetPaneText(1,str);,有时str很短,有时str很长。短时,有太大空位留出,不协调;长时,内容不能完全显示。能否根据str长度动态设置Pane长度?
- Windows2000下句柄的概念?
- 请问如何对文件名字符串进行排序可以得到和资源管理器中按文件名排序相同的效果?
- 如何把一个int型数字转化成char *(ASCII)?可以使用什么汉书?
- 大家应聘的时候一般拿什么样的作品去?(Up有分)
- 请问时间存储格式分析
- vc写的dll能在vb中使用吗?如何使用
- 翻译这段话,VC6.0可以使用吗?
- =WM_CTLCOLOR??
//终于解决了页脚的设置问题,包括自动图文集的问题
Window oActiveWnd;//定义活动窗口对象
View oActiveView;//定义活动视图对象
Pane oPane;//定义当前窗格对象
oActiveWnd = oWordApp.GetActiveWindow();//获得当前窗口
oPane = oActiveWnd.GetActivePane();//获得当前窗格
oActiveView = oPane.GetView();//获得当前视图
oActiveView.SetSeekView(10);//设置页眉视图
oSel.WholeStory();
oSel.Delete(((COleVariant)(short)1),((COleVariant)(short)1));
Paragraphs ParagraphFmt = oSel.GetParagraphFormat();
ParagraphFmt.SetAlignment(1);//居中
oSel.TypeText("《" + "多媒体技术及其应用" + "》 ");
Template NormalTemplate = oWordApp.GetNormalTemplate();
AutoTextEntries ATEntries;
ATEntries = NormalTemplate.GetAutoTextEntries();
AutoTextEntry ATEntry;//查找 "第 X 页 共 Y 页" 自动图文集
for ( int nATEntries = 1 ; nATEntries < ATEntries.GetCount() ; nATEntries ++ )
{
ATEntry = ATEntries.Item(COleVariant((short)nATEntries));
if ( ATEntry.GetName() == "第 X 页 共 Y 页" )
break;
}
if ( nATEntries != ATEntries.GetCount() )
ATEntry.Insert(oSel.GetRange(),((COleVariant)(short)TRUE));
oActiveView.SetSeekView(0); //回到正文视图
/************************************** 页脚的设置 ************************************************/
AutoTextEntries ATEntries;
ATEntries = NormalTemplate.GetAutoTextEntries();
AutoTextEntry ATEntry;//查找 "第 X 页 共 Y 页" 自动图文集
for ( int nATEntries = 1 ; nATEntries < ATEntries.GetCount() ; nATEntries ++ )
{
ATEntry = ATEntries.Item(COleVariant((short)nATEntries));
if ( ATEntry.GetName() == "第 X 页 共 Y 页" )
break;
}
if ( nATEntries != ATEntries.GetCount() )
ATEntry.Insert(oSel.GetRange(),((COleVariant)(short)TRUE));