Exportar para Word - como faço para sair da tabela?

Delphi

05/10/2004

Boa tarde,

Estou gerando um documento word a partir de um relatório muito semelhante do quick. Estou usando a biblioteca comobj.

Executo um CreateOleObject(´Word.Basic´) e vou colocando as linhas de código para gerar o meu documento, só que estou com algumas limitações: Como faço para sair de uma tabela? Criei uma tabela inseri algumas linhas e agora quero sair da tabela e não consigo.

E também, dentro da tabela ao executar o comando MSWord.tableSplitCells(NumColumns:=1, NumRows:=1); tem como eu determinar o tamanho de cada coluna?

Obrigada,
Fernanda.
:)


Fernanda.sique

Fernanda.sique

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

05/10/2004

Não tenho muita certeza, mais tenta este código ai..
    Selection.MoveDown Unit:=wdLine, Count:=1 // Esta é a ultima linha da tabela.
    Selection.TypeText Text:="teste" // Este texto já esta fora da tabela..
    CommandBars("Tables and Borders").Visible = False



GOSTEI 0
Fernanda.sique

Fernanda.sique

05/10/2004

Oi Lucas,

Infelizmente não funcionou, olha o meu código:

           MSWord:= CreateOleObject(´Word.Basic´);
           MSWord.Filenew;

           MSWord.Font(´Arial´);
           MSWord.CenterPara;
           MSWord.FontSize(16);
           MSWord.bold;
           MSWord.insert(tblData0030.FieldByName(´DB30_TIPO´).AsString);

           MSWord.FontSize(8);
           MSWord.bold(False);
           MSWord.insert(#9 + 9 + 9 + 9 + 9 + 9 + ´NÚMERO: ´ + tblData0030.FieldByName(´CALC_VENDA´).AsString);
           MSWord.insert(13 + 13 + 13 + 13 + 13);

           MSWord.tableinserttable(NumColumns:=1, NumRows:=1);
           MSWord.TableSelectTable;
           MSWord.TableAutoFormat(Format := 20);
           MSWord.startOfRow;

           MSWord.insert(13);
           MSWord.Font(´Arial´);
           MSWord.CenterPara;
           MSWord.FontSize(8);
           MSWord.bold;
           MSWord.insert(´DADOS DO CLIENTE´);
           MSWord.insert(#13);
           MSWord.nextcell;

           MSWord.Font(´Arial´);
           MSWord.LeftPara;
           MSWord.FontSize(8);
           MSWord.bold(False);

           MSWord.insert(´CÓDIGO: ´ + tblData0030.FieldByName(´DB30_COD_CLI´).AsString);
           MSWord.nextcell;

           MSWord.insert(´NOME FANTASIA: ´ + tblData0030.FieldByName(´DB30_NOME_CLI´).AsString);
           MSWord.nextcell;

           MSWord.insert(´CONTATO: ´ + tblData0030.FieldByName(´DB30_CONTATO´).AsString);
           MSWord.nextcell;

           MSWord.insert(´RAZÃO SOCIAL: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_RAZAO´).AsString);
           MSWord.nextcell;

           MSWord.insert(´TELEFONE: ´ + Frm_data0036e.qryVenda.FieldByName(´DB30_TEL´).AsString);
           MSWord.nextcell;

           MSWord.insert(´RUA: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_RUA´).AsString + ´ - ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_NUM´).AsString + ´ / ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_COMPL´).AsString);
           MSWord.nextcell;

           MSWord.insert(´BAIRRO: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_BAIRRO´).AsString);
           MSWord.nextcell;

           MSWord.insert(´CIDADE: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_CIDADE´).AsString);
           MSWord.nextcell;

           MSWord.insert(´CEP: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_CEP´).AsString);
           MSWord.nextcell;

           MSWord.insert(´CNPJ/CPF: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_CNPJ_CPF´).AsString);
           MSWord.nextcell;

           MSWord.insert(´INSCR.ESTADUAL: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_IE_RG´).AsString);
           MSWord.nextcell;

           MSWord.insert(´E-MAIL: ´ + Frm_data0036e.qryVenda.FieldByName(´DB10_EMAIL´).AsString);
           MSWord.nextcell;


           MSWord.insert(#13);
           MSWord.Font(´Arial´);
           MSWord.CenterPara;
           MSWord.FontSize(8);
           MSWord.bold;
           MSWord.insert(´DADOS DO EQUIPAMENTO´);
           MSWord.insert(13);
           MSWord.NextCell;

           MSWord.tableselectRow;
           MSWord.tableSplitCells(NumColumns:=5, NumRows:=1);
           MSWord.CenterPara;

           MSWord.NextCell;
           MSWord.Insert(´CÓDIGO´);

           MSWord.NextCell;
           MSWord.Insert(´EQUIPAMENTO´);

           MSWord.NextCell;
           MSWord.Insert(´QUANT´);

           MSWord.NextCell;
           MSWord.Insert(´VL. UNITÁRIO´);

           MSWord.NextCell;
           MSWord.Insert(´VL. TOTAL´);

           MSWord.NextCell;
           MSWord.startOfRow;
           MSWord.tableselectRow;
           MSWord.tableSplitCells(NumColumns:=1, NumRows:=1);
           MSWord.NextCell;

           While not Frm_data0036e.qryProd.Eof do
           begin
                MSWord.LeftPara;
                MSWord.Insert(Frm_data0036e.qryProd.FieldByName(´CALC_PROD´).AsString);
                MSWord.NextCell;

                MSWord.LeftPara;
                MSWord.Insert(Frm_data0036e.qryProd.FieldByName(´DB15_NOME´).AsString);
                MSWord.NextCell;

                MSWord.RightPara;
                MSWord.Insert(Frm_data0036e.qryProd.FieldByName(´QUANT´).AsString);
                MSWord.NextCell;

                MSWord.RightPara;
                MSWord.Insert(FormatFloat(´#,,0.00´, Frm_data0036e.qryProd.FieldByName(´UNIT´).AsFloat));
                MSWord.NextCell;

                MSWord.RightPara;
                MSWord.Insert(FormatFloat(´#,,0.00´, Frm_data0036e.qryProd.FieldByName(´TOT´).AsFloat));
                MSWord.NextCell;

                Frm_data0036e.qryProd.Next;
           end;

           MSWord.AppShow;
           MSWord.appmaximize;



GOSTEI 0
POSTAR