Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite amigos, sou novo no forum e iniciante em delphi. Tô precisando da ajuda de vcs.
Quero selecionar documentos do word, atraves de um combobox do delphi e imprimi-lo. Tenho seguido um post do forum num entanto da erro.
Segue o codigo e o erro: (o que acontece é que esse codigo compila, mas o DBCombobox não lista fica em branco)
unit Uficha;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ShellApi,OleServer,ComObj,ExtCtrls,ADODB,Grids, DBGrids,DB;
type
Tfrmficha = class(TForm)
carta: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
imprimir: TButton;
procedure Button1Click(Sender: TObject);
procedure BuscaListaArquivosPasta(pasta, nome : string);
procedure FormShow(Sender: TObject);
procedure imprimirClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmficha: Tfrmficha;
implementation
{$R *.dfm}
procedure Tfrmficha.BuscaListaArquivosPasta(pasta, nome : string);
var
SearchRec: TSearchRec;
intControl: integer;
Name, tipo: string;
begin
intControl:=FindFirst(pasta + '\' + nome + '.*', faArchive,SearchRec);
if intControl = 0 then
begin
while (intControl = 0) do
begin
Name:=ExtractFileName(SearchRec.Name);
Tipo:=ExtractFileExt(Name);
if (Name <> '') and (tipo = '.doc') then
Begin
ComboBox1.AddItem(Name,Self);
end;
intControl:=FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
end;
procedure Tfrmficha.FormShow(Sender: TObject);
begin
//BuscaListaArquivosPasta ('Documentos', '' );
BuscaListaArquivosPasta(ExtractFilePath(Application.Exename), '')
end;
procedure Tfrmficha.Button1Click(Sender: TObject);
begin
close;
end;
procedure Tfrmficha.imprimirClick(Sender: TObject);
Var WinWord, Docs, Doc: Variant;
arquivo : string;
begin
// Pega o nome do arquivo...
arquivo := ExtractFilePath(Application.ExeName) + Combobox1.Text;
// Cria objeto principal de controle
WinWord := CreateOleObject('Word.Application');
//Não Mostra o Word
WinWord.Visible := False;
// Pega uma interface para o objeto que manipula documentos
Docs := WinWord.Documents;
// Abre um Documento
Doc := Docs.Open(arquivo);
// Imprime
Doc.PrintOut(True);
// Fecha o Word
WinWord.Quit;
end;
end.
Carregando comentários...