求一个com组件

lwqenter 2005-06-28 04:37:53
这个组件的功能:在当前的一个网页中,在某个frame中有一个按钮,当按下这个按钮时(这个按钮调用com),这个frame内的内容自动复制到当前打开的word文件的当前光标后
这个是小弟的工作任务,请大家帮忙,谢谢.
我的msn:lwqenter007@sohu.com
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwqenter 2005-06-29
  • 打赏
  • 举报
回复
在我的jsp中怎调用你的程序啊,你的代码运行后,出现一个空白画面
lwqenter 2005-06-29
  • 打赏
  • 举报
回复
楼上的能不能说说这个代码啊,小弟不是很明!
僵哥 2005-06-28
  • 打赏
  • 举报
回复
下面的代码,或许对楼主有用:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,MSHTML, ActiveX, StdCtrls, OleCtrls, SHDocVw;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
s: string;
ss: TStringStream;
sa: IStream;
begin
ps := WB.document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa:= TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, Bool(True)));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
ShellWindow: IShellWindows;
WB: IWebbrowser2;
spDisp: IDispatch;
IDoc1: IHTMLDocument2;
k: Integer;
begin
ShellWindow := CoShellWindows.Create;
// get the running instance of Internet Explorer
for k := 0 to ShellWindow.Count do
begin
spDisp := ShellWindow.Item(k);
if spDisp = nil then Continue;
// QueryInterface determines if an interface can be used with an object
spDisp.QueryInterface(iWebBrowser2, WB);
if WB <> nil then
begin
WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
if iDoc1 <> nil then
begin
WB := ShellWindow.Item(k) as IWebbrowser2;
begin
// Add HTML Code to Memo
Memo1.Lines.Add('****************************************');
Memo1.Lines.Add(WB.LocationURL);
Memo1.Lines.Add('****************************************');
GetHTMLCode(WB, Memo1.Lines);
end;
end;
end;
end;
end;


end.
Kshape 2005-06-28
  • 打赏
  • 举报
回复
没用过
自己写过控件来做吧
lovend 2005-06-28
  • 打赏
  • 举报
回复
帮你顶
lwqenter 2005-06-28
  • 打赏
  • 举报
回复
顶一下
lwqenter 2005-06-28
  • 打赏
  • 举报
回复
msn是:lwqenter@hotmail.com,上面那个是我的邮箱
也可发到这个邮箱:liweiqiang@tcl.com

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧