Fórum o parametro da sequencia de caracteres é muito longo #502204
24/11/2014
0
Por favor, alguém poderia me da uma forcinha aí?
Fiz um formulário usado o delphi 2010 + word que ta funcionando quase que perfeito, se nao fosse quando coloco mais teste aparece a mensagem:
o parametro da sequencia de caracteres é muito longo
e o texto não vai para o word.
Ja coloquei memo e RichEdit e mesmo assim o erro permanece.
At. Clécio
Clecio Alves
Curtir tópico
+ 0Posts
04/12/2014
Clecio Alves
Me ajudem aí gente!
Gostei + 0
05/12/2014
Marcos Saffran
Você pode substituir pelo conteúdo que está na área de transferência: http://gregmaxey.mvps.org/word_tip_pages/find_replace_long_string.html
Gostei + 0
19/01/2015
Clecio Alves
"o parametro da sequencia de caracteres é muito longo"
Pelo vb.net consegui fazer fazer uma aplicação semelhante a do delphi e não tem limite de caracteres.
Ele roda normal.
Segue o código usado no delphi:
procedure TF_teste_button1Click(Sender: TObject);
var
findtext:string;
ReplaceWith:string;
Replace:string;
WApp: variant; // variável associada ao aplicativo Microsoft Word
WDoc: variant; // variável associada ao documento criado no Word
path: WideString;
begin
// verifica se o Microsoft Word já está aberto
if (VarIsEmpty(WApp))
then WApp := CreateOleObject('Word.Application');
path := ExtractFilePath(Application.ExeName);
begin
WDoc := WApp.Documents.open('C:\documentos\teste.dotx');
WApp.Visible := True;
end;
// move os componentes de entrada da aplicacao Delphi
// para os campos de texto do recibo no Microsoft Word
wdoc.Content.Find.Execute(FindText := '@nome', ReplaceWith := edtnome.Text,Replace :=2);
Por favor, eu realmente estou precisando muito da ajuda de vocês!
Gostei + 0
21/01/2015
Wesley Yamazack
Eu fiz um artigo há muito tempo em Delphi 2009/2010 onde isso estava funcionando, infelizmente não trabalho mais com Delphi, você poderia tentar analisar no meu artigo, veja o link:
Artigo Delphi com Word
Um abraço e até mais.
Gostei + 0
21/01/2015
Marcos Saffran
fiz um programa em Delphi 7, que faz o que você quer, ele busca o arquivo 'Teste.docx' no diretório do executável e substitui a palavra 'teste' com o conteúdo do edit1.
Verifique a uses (ComObj, Word97, Clipbrd).
Espero que resolva.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj, Word97, Clipbrd;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
MSWord : Variant;
begin
MSWord := CreateOleObject('Word.Application');
MSWord.Documents.Open(ExtractFilePath(Application.ExeName) + 'Teste.docx');
MSWord.Visible := True;
Clipboard.asText := Edit1.Text;
MSWord.ActiveDocument.Content.Find.Execute(FindText := 'teste', ReplaceWith := '^c', Replace := 2);
end;
end.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)