各位好!我在某一word文档中添加了word自带的textbox控件,假如:命名为textbox1!请问,我怎么才能找到这个控件,并且对这控件赋值为:'bbb'!

解决方案 »

  1.   

    procedure TForm1.suiButton1Click(Sender: TObject);
    var index:olevariant;
    begin
        index:=1;
        WordDocument1.Shapes.Item(index).textEffect.Text:='bbb';
    end;
    我没有现成的就不试了,你自己试一下吧
    你的textbox要是添加的第一个控件估计才行,不然就自己改index吧
      

  2.   

    textEffect在VBA中是对艺术字的!
      

  3.   

    对,好像就没有设置text的属性
      

  4.   

    以下摘自delphi猛料
    ————————————————————uses ComObj ;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      vWord,vDoc,vRange : Variant ;
      sText,sReplace : string ;
      lReturn : Boolean ;
    begin
      sText := 'ABCDEFG' ;  //原文字串
      sReplace := 'GFEDCBA' ; //新字串
      vWord := CreateOleObject('Word.Application') ;//创建Word线程
      try
        //打开要操作的文件
        vDoc := vWord.Documents.Open('C:\My Documents\AAAc.Doc');
        vDoc.Select ;  //选取中整个文档
        vRange := vDoc.Range ; //替换范围
        lReturn := True ;
        while lReturn do
        begin  //找到并替代成功则返回 True    共11个参数
          lReturn := vDoc.Range.Find.Execute(sText,,,,,,,,,sReplace,True) ;
        end ;
      finally
        vDoc.Close(True) ; //关闭文并保存
        vWord.Quit(False) ; //退出Word
      end ;
    end;
    Delphi 3 下通过。
      

  5.   

    unit Unit1;interfaceuses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls,OleCtnrs,ComObj;type
        TForm1 = class(TForm)
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        ED_WenHao: TEdit;
        ED_BiaoTi: TEdit;
        ED_ShouWenDanWei: TEdit;
        ED_ZhenWen: TMemo;
        ED_FaWenDanWei: TEdit;
        Btn_PrintToWord: TButton;
        Btn_Quit: TButton;
        procedure Btn_PrintToWordClick(Sender: TObject);
        procedure Btn_QuitClick(Sender: TObject);
        private
            { Private declarations }
        public
            { Public declarations }
    end;var
        Form1: TForm1;implementation{$R *.DFM}//开始:数据发送到 word事件
    procedure TForm1.Btn_PrintToWordClick(Sender: TObject);
    vAR
        VarWord: Variant;// 创建 WORD时所用
    begin
        try
            // 1. 建立 OleObject,连接 word97
            VarWord:=CreateOleObject('word.basic');
            // 2. 建立 Word97的新文件
            VarWord.FileNew;
            // 3. 设置 Word97的基本状态
            VarWord.ViewZoom75; //设置显示比例为 75%
            VarWord.ViewPage; //改为页面显示方式
            // 4. 将当前数据控件上的信息发送至 Word97
            // 4.1 发送文号数据
            VarWord.CenterPara; //居中
            Varword.font('宋体 '); //设置字体
            VarWord.FontSize(14); //设置字号
            varword.insert(#13+#13+ ED_WenHao.Text+#13+#13+#13);
            // 4.2 发送标题数据
            VarWord.font('黑体 ');
            VarWord.Fontsize(16);
            VarWord.insert( ED_BiaoTi.text+#13);
            // 4.3 发送收文单位数据
            VarWord.LeftPara; //左对齐
            VarWord.Font('宋体 ');
            VarWord.fontSize(14);
            VarWord.Insert(#13+ ED_ShouWenDanWei.Text+': '+#13);
            // 4.5 发送正文数据
            VarWord.fontSize(14);
            VarWord.Insert( ED_ZhenWen.Text+#13);
           // 4.6 发送发文单位数据
            VarWord.RightPara; //右对齐
            VarWord.fontSize(14);
            VarWord.Insert( ED_FaWenDanWei.Text+#13);
            // 5 最后设置
            VarWord.StartOfdocument; //到文首
            VarWord.AppMaxiMize; //设置窗口最大化
            VarWord.AppShow; //显示应用程序
        except
            showmessage('运行 Microsoft Word 失败! ');
        end; //end of try
    end;
    //end:数据发送到 word事件
      

  6.   

    to  things(平)(易近人)恭喜你变身了?刚才是一个星!
      

  7.   

    功夫不负有心人,我终于把这答案写出来了!
    大家共同进步!
    var
     i:integer;
     wordapp:variant;
    begin
       wordApp.ActiveDocument.InlineShapes.item(index).OLEFormat.Object.text:='bbb';
    end;
      word不能返回一个确定的组件的name所以,只能靠它原生的index来找了!
     可能是我没找到更好的!暂时我已经很满足了!
    建议斑竹升为精华贴!
    答谢各位,分数照给!
      

  8.   

    功夫不负有心人,我终于把这答案写出来了!
    大家共同进步!
    var
     i:integer;
     wordapp:variant;
    begin
       wordApp.ActiveDocument.InlineShapes.item(index).OLEFormat.Object.text:='bbb';
    end;
      word不能返回一个确定的组件的name所以,只能靠它原生的index来找了!
     可能是我没找到更好的!暂时我已经很满足了!
    建议斑竹升为精华贴!
    答谢各位,分数照给!
      

  9.   

    呵呵,竟然是 InlineShapes 哎,没找到阿
      

  10.   

    不管怎么说算得上是经典问题了,以后都可以举一反三了
    不管什么对象,只是index不同就行了