下面是VB写的一段代码
Dim objT As Object, objDoc As Object
  Set objT = CreateObject("Word.Application")
  objT.Visible = True
  objT.Activate
  objT.documents.Add Template:=LOCALPATH + "\newprint2.dot"
  Set objDoc = objT.documents(objT.documents.Count)
  objDoc.AcceptAllRevisions
Dim objSelection As Object
  Set objSelection = objT.selection
  objSelection.Find.ClearFormatting
  objSelection.Find.Execute "[程序在此处自动插入正文]", False, True
  objSelection.InsertFile fileName:="c:\test.doc"
objDoc.Variables("标题").Value ="通知"
我用delphi转化成
Var
    VarWord: Variant;// 创建 WORD时所用
    VarDoc:Variant;   ;
begin
    try
        // 1. 建立 OleObject,连接 word
        VarWord:=CreateOleObject('word.Application');
        // 2. 建立 Word的新文件
        VarWord.Visible :=True;
        VarWord.Activate ;
        VarDoc:=VarWord.documents.Add('c:\oatemp\newprint2.dot');
        VarWord.selection.find.clearformatting;
        VarWord.selection.find.execute('[程序在此处自动插入正文]', False, True);
        VarWord.selection.Insertfile('c:\test.doc');
        VarDoc.variables('标题').value:='通知';//****************
前面的运行都正常,而且功能都能实现,可是为什么到了***************这行就不行了,提示什么Variables不是方法的错误.

解决方案 »

  1.   

    改成这样应该可以 
    // 1. 建立 OleObject,连接 word
            VarWord:=CreateOleObject('word.Application');
            // 2. 建立 Word的新文件
            VarWord.Visible :=True;
            VarWord.Activate ;
            VarDoc:=VarWord.documents.Add('c:\oatemp\newprint2.dot');
            VarWord.selection.find.clearformatting;
            VarWord.selection.find.execute('[程序在此处自动插入正文]', False, True);
            VarWord.selection.Insertfile('c:\test.doc');
            VarDoc.variables.Item('标题').value:='通知';//****************