Preciso que o programa CGi abra o word e substitua strings no arquivo por informações do banco de dados.... Não funciona. Segue um código de teste que eu desenvolvi. O problema está no TWordApplication.
Sem as linhas entre os comentários ele funciona bem.
Pergunta
Guest rage_against
Estou fazendo um CGI em Delphi.
Preciso que o programa CGi abra o word e substitua strings no arquivo por informações do banco de dados.... Não funciona. Segue um código de teste que eu desenvolvi. O problema está no TWordApplication.
Sem as linhas entre os comentários ele funciona bem.
unit teste;
interface
uses
SysUtils, Classes, HTTPApp, windows, OleServer, Word2000, Variants;
type
TWebModule1 = class(TWebModule)
WordApplication1: TWordApplication;
procedure WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
WebModule1: TWebModule1;
implementation
{$R *.DFM}
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var ReturnString: string;
nome: olevariant;
no: olevariant;
begin
if Request.QueryFields.Values['rad']='first' then
ReturnString:='First Choice'
else ReturnString:='Second Choice';
copyfile(pchar('c:/a.doc'), pchar('c:/hu.doc'),true);
wordapplication1.Connect;
wordapplication1.Visible:=false;
nome:='c:/hu.doc';
no:=false;
//---------------------------------------------------------------
wordapplication1.Documents.OpenOld(nome, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam, emptyparam);
wordapplication1.Documents.Close(no, emptyparam, emptyparam);
//---------------------------------------------------------------------
wordapplication1.Quit;
Response.Content:='<HTML>'+'<BODY>'+'Hi! <P>'+'You picked '+ReturnString+'!'+ '</BODY>'+ '</HTML>';
end;
end.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.