请求大家多多帮忙了。 在线等候您的答案

解决方案 »

  1.   

    1)word :procedure TForm1.Button1Click(Sender: object); 
    var MSWord: Variant; 
    begin 
    MSWord := CreateOLEObject('Word.Application');//连接Word ,须要在use后加ComObj
    MSWord.Documents.Open(FileName:='d:\abc.doc', 
    ReadOnly:=True);//打开外部Word文档 
    MSWord.Visible := 1;//是否显示文件编辑 
    end;  2)excel:
    首先创建 Excel 对象,使用ComObj:
    var ExcelApp: Variant;
    ExcelApp := CreateOleObject( 'Excel.Application' );
    1) 显示当前窗口:
    ExcelApp.Visible := True;
    2) 更改 Excel 标题栏:
    ExcelApp.Caption := '应用程序调用 Microsoft Excel';
    3) 添加新工作簿:
    ExcelApp.WorkBooks.Add;
    4) 打开已存在的工作簿:
    ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );
    5) 设置第2个工作表为活动工作表:
    ExcelApp.WorkSheets[2].Activate; 
    或 
    ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
    6) 给单元格赋值:
    ExcelApp.Cells[1,4].Value := '第一行第四列';
    7) 设置指定列的宽度(单位:字符个数),以第一列为例:
    ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 5;
    8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
    9) 在第8行之前插入分页符:
    ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
    10) 在第8列之前删除分页符:
    ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
    11) 指定边框线宽度:
    ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
    1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
    12) 清除第一行第四列单元格公式:
    ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
    13) 设置第一行字体属性:
    ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
    ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
    ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
    ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;3)很少人做 不过也同理
    4)mdb:
    procedure TSDIAppForm.CreateMDB(DBName: string); // 系统需要安装 MADAC
    var
      CreateAccess: OleVariant;
    begin
      CreateAccess := CreateOleObject('ADOX.Catalog');
      CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName);
    end;
    5)txt:tstringlist.savetofile('c:\a.txt');
      

  2.   

    非常感谢visual_cjiajia(bios(阿贡)) 同志的发言了..很想知道如何解决创建ppt,还有mpp,vsd文件?还有,要是
    创建bmp怎么办?
    其实最终的目的是要实现在delphi程序中.调用在
    文件夹下点右键中的新建菜单的子菜单的功能.所以所有的新建
    都要实现.取得菜单项目我已经通过注册表取得了。现在问题就是
    有些office文件,还有一些常用的非office文件如何创建的问题了?
    请大家多多讨论了?继续完善这个话题.
      

  3.   

    参考《电子笔记簿》的新键,那种是WINDOWS的SHELL扩展,只要你的新键菜单的
    二进制值满足创建他的程序的格式就可以自动创建了
    不知道你明白的没有!
      

  4.   

    在dephi中通过程序处理office组件有三种方式:
    1.use comobj .二楼的已经做了详细的介绍了.
    2.直接使用servers标签页中组件,相关的代码都在$(DELPHI)\Ocx\Servers目标下.至于都用到的参数可以看到.
    送上一段代码use Excel2000;const
      lcid = LOCALE_USER_DEFAULT;procedure TForm1.cxButton1Click(Sender: TObject);
    var
      xlApp : TExcelApplication;
      xlWorkBook : TExcelWorkbook;
      xlSheet: TExcelWorksheet;
      xlRegion : ExcelRange;
      selection : Variant ;
      OpenFileName : String ;
    begin
      If OpenDialog1.Execute Then Begin
        OpenFileName := OpenDialog1.FileName ;
        Try
          xlApp := TExcelApplication.Create(Self);
          xlWorkBook := TExcelWorkbook.Create(Self);
          xlSheet := TExcelWorksheet.Create(Self);
          Try
            xlApp.ConnectKind := ckRunningOrNew; 
            xlApp.Connect;        xlWorkBook.ConnectTo(xlApp.Workbooks.Open(OpenFileName , True ,False,EmptyParam,EmptyParam,EmptyParam,EmptyParam ,
                EmptyParam,EmptyParam,EmptyParam , EmptyParam , EmptyParam , EmptyParam ,  lcid ));
            xlSheet.ConnectTo(xlWorkBook.ActiveSheet as _WorkSheet);
            xlApp.Visible[lcid] := True;
            xlRegion := xlSheet.Range['A1', EmptyParam];
            xlRegion.CurrentRegion.Select ;
            Try
              xlApp.ActiveCell.SpecialCells(xlCellTypeBlanks, EmptyParam).Select ;
              selection := xlApp.Selection[lcid] ;
              selection.FormulaR1C1 := '=R[-1]C' ;
            Except        End  ;      Finally
            xlSheet.Free;
            xlWorkBook.Free;
            xlApp.Free;
          End ;
        Except
          ShowMessage('Error');
          Exit ;
        End ; 
      End ;
    end;上面一段代码在vba实现的代码为
        Range("A1").Select
        Selection.CurrentRegion.Select
        Selection.SpecialCells(xlCellTypeBlanks).Select
        Selection.FormulaR1C1 = "=R[-1]C"
    二楼说的,用使用mdb,其实是使用adox,不是那种真正操作mdb文件,而是和使用ado一样使用数据操作罢了.
    希望能和大家共同探讨vba开发.