一个OLE调用Excel的问题——如何向Excel中设置一个链接??卡了我一个多星期了…… ( 积分: 11 )

  • 主题发起人 主题发起人 bryantd
  • 开始时间 开始时间
B

bryantd

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将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] //这段怎么写代码???
 
如何将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] //这段怎么写代码???
 
这里的高人们呢????别让我失望啊……………………
 
我顶起来!!!!!!!!!!!!!!!
 
不是号称这里很多的高人吗?????快献身阿!!!!!!!!!!!!!!!!
 
我自己测试出连接到文件或者网页的代码是:
ExcelApp.Cells[1,1].Value:='=HYPERLINK("www.delphibbs.com","大富翁")';

有没有高手能写出连接到当前Excel文档中的其他工作簿的代码啊????
 
人呢人呢人呢!!!!!!!!!!!!!!!!!!
 
有没有人会啊?????
 
procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp, WorkBook, Link : OleVariant;
begin
ExcelApp:=GetObject('Excel.Application');
ExcelApp.Visible := True;
WorkBook:=ExcelApp.WorkBooks.Add;
//设置当前活动工作簿
//为当前工作簿Sheet改名
WorkBook.WorkSheets[1].Name:='Summary';
Link := WorkBook.WorkSheets[1].Hyperlinks.Add(WorkBook.WorkSheets[1].Cells[2,1],
'', 'Sheet2!A2', 'Click here to link', 'Text To Display');
end;
 
楼上的,我按你这么写的,链接到是能做上,但是点击的时候Excel显示“引用无效”
 
快来帮帮我啊,卡了一个星期了!!
 
var
ExcelApp, WorkBook, Link,Selection : OleVariant;
begin
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.Visible := True;
WorkBook:=ExcelApp.WorkBooks.Add;

WorkBook.WorkSheets[1].Name:='Summary';
Selection := WorkBook.WorkSheets[1].Range['A1'];
Selection.Select;
Link := WorkBook.WorkSheets[1].Hyperlinks.Add(Selection,
'http://www.sina.com.cn', EmptyParam, EmptyParam, 'Go to sina!');
end;
 
楼上的这位兄弟谢谢你啊,不过你还是没看清除我的问题。
我自己解决了,其实卡我就是我没看清楚VBA代码,呵呵
应该这样写:ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _"Sheet2!A1", TextToDisplay:="Sheet2"
对应的Delphi代码是:
var Link:OleVariant;
Link:=WorkBook.ActiveSheet.Hyperlinks.Add(WorkBook.ActiveSheet.Cells[1,2],'','Summary!A1','Click here to jump home')
 
后退
顶部