如何将Excel的一个单元格设置成超文本链接?
通过录制宏命令,得知:
1、链接到硬盘文件的VBA代码是:
    Range("A1").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="E:\log.txt", _
        TextToDisplay:="E:\Log.txt"
2、链接到本Excel文档中的位置的VBA代码是:
    Range("A2").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Sheet2!A1", TextToDisplay:="Sheet2"
这两段VBA代码如何加在Delphi中的程序?
  ExcelApp:=CreateOleObject('Excel.Application');
  WorkBook:=CreateOleObject('Excel.Sheet');
  WorkBook:=ExcelApp.WorkBooks.Add;
  //设置当前活动工作簿
  ExcelApp.WorkSheets[1].Activate;
  //为当前工作簿Sheet改名
  ExcelApp.WorkSheets[1].Name:='Summary';
  //为某一个单元格设置超文本链接
  [red]………………………………[/red] //这段怎么写代码???

解决方案 »

  1.   

    首先创建 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].ColumnsWidth := 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;
    14) 进行页面设置:
    a.页眉:
        ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
    b.页脚:
        ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';
    c.页眉到顶端边距2cm:
        ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
    d.页脚到底端边距3cm:
        ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
    e.顶边距2cm:
        ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
    f.底边距2cm:
        ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
    g.左边距2cm:
        ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
    h.右边距2cm:
        ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
    i.页面水平居中:
        ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
    j.页面垂直居中:
        ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
    k.打印单元格网线:
        ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
    15) 拷贝操作:
    a.拷贝整个工作表:
        ExcelApp.ActiveSheet.Used.Range.Copy;
    b.拷贝指定区域:
        ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
    c.从A1位置开始粘贴:
        ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
    d.从文件尾部开始粘贴:
        ExcelApp.ActiveSheet.Range.PasteSpecial;
    16) 插入一行或一列:
    a. ExcelApp.ActiveSheet.Rows[2].Insert;
    b. ExcelApp.ActiveSheet.Columns[1].Insert;
    17) 删除一行或一列:
    a. ExcelApp.ActiveSheet.Rows[2].Delete;
    b. ExcelApp.ActiveSheet.Columns[1].Delete;
    18) 打印预览工作表:
    ExcelApp.ActiveSheet.PrintPreview;
    19) 打印输出工作表:
    ExcelApp.ActiveSheet.PrintOut;
    20) 工作表保存:
    if not ExcelApp.ActiveWorkBook.Saved then
       ExcelApp.ActiveSheet.PrintPreview;
    21) 工作表另存为:
    ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );
    22) 放弃存盘:
    ExcelApp.ActiveWorkBook.Saved := True;
    23) 关闭工作簿:
    ExcelApp.WorkBooks.Close;
    24) 退出 Excel:
    ExcelApp.Quit;
      

  2.   

    ExcelWorksheet.Range[2,40].Value:='=HYPERLINK("http://www.microsoft.com","Microsoft")';
      

  3.   

    楼上的你写得对!!谢谢了!
    但是这个只能解决链接到文件或者网页,怎么才能够链接到当前Excel文档的其他工作簿呢????
      

  4.   

    同时给你这个,看能不能帮助你,说是可以连接到"Range 对象"的,不过没调试过!
    object.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)object   必选。该表达式返回 Hyperlinks 对象。Anchor   Object 类型,必选。超级链接的位置。可为 Range 对象或 Shape 对象。Address   String 类型,必选。超级链接的地址。SubAddress   Variant 类型,可选。超级链接的子地址。ScreenTip   可选 Variant 类型。当鼠标指针停留在超级链接上时所显示的屏幕提示。TextToDisplay   可选 Variant类型。为超级链接显示的文本。
      

  5.   

    Add 方法(Hyperlinks 集合)示例本示例向单元格 A5 添加超级链接。With Worksheets(1)
        .Hyperlinks.Add Anchor:=.Range("a5"), _
            Address:="http://example.microsoft.com", _
            ScreenTip:="Microsoft Web Site", _
            TextToDisplay:="Microsoft"
    End With
    本示例向单元格 A5 中添加一个电子邮件超级链接。With Worksheets(1)
        .Hyperlinks.Add Anchor:=.Range("a5"), _
            Address:="mailto:[email protected]?subject=hello", _
            ScreenTip:="Write us today", _
            TextToDisplay:="Support"
    End With
      

  6.   

    楼上的楼上你写的是VBA代码吧?
      

  7.   

    告诉楼主:
       你打开一EXCEL文件,然后录制一个新宏,做你想要做的东西,保存后查看代码,最后把代码写成DELPHI语言就OK了。这就是一个操作EXCEL等OFFCEI文件的通用方法。
       给分吧,兄弟。