Dizer ao word 2007 que o espaçamento depois deve ser 0 pt?

25/01/2010

3

Olá amigos, abaixo segue uma pequena rotina que exporta dados para o word.

Ela funciona, porém, no Word 2007 as linhas estão ficando com espaçamento do tipo depois de 10 pt.

Alguém saberia o comando para dizer que não quero este espaçamento de 10 pt, ou seja, quero que seja zero antes e depois.

Se alguém tiver dúvida, esta opção no Office Word 2007 se encontra na guia Layout da Página >> Parágrafo >> contendo as opções Recuar: À Esquerda; à Direita. E a opção Espaçamento: Antes; Depois;

Agradeço pelas dicas ou trechinhos de códigos de exemplo contendo o comando correto.

procedure TnorcamentoCadastro.documentotxt;
var word, documento, wordsalve, docrodape: variant;
   item: integer;
   esp12, esp23, esp34, esp45, esp56, esp67, aux, caminho, nomeArquivo: string;
begin
   BtnImprimir.Enabled := false;
   BtnVisualisar.Enabled := false;
   BtnDeletaorcamento.Enabled := false;
   BtnEnviar.Enabled := false;
   word := GetorCreateObject('Word.Application'); //cria uma instância do word
   word.visible := false; //oculta o word
   wordsalve := word.documents.add; //adiciona um documento
   wordsalve := word.ActiveDocument; //ativa o documento
   wordsalve.ShowSpellingErrors := false; {não mostra os erros ortográficos}
   documento := word.selection; //seleciona para a escrita

   documento.PageSetup.RightMargin := 09;
   documento.PageSetup.LeftMargin := 11;
   documento.PageSetup.TopMargin := 71;
   documento.PageSetup.BottomMargin := 71;

   documento.PageSetup.Orientation := poportrait;
   documento.Font.Name := 'courier new'; //lucida controle são as fontes que funcionam
   documento.font.size := 9;
   documento.Tables.Add(Range := Word.Selection.Range, NumRows := 1, NumColumns := 2);
   documento.InlineShapes.AddPicture(nprincipal.caminhoExe + 'imagem\logocolling.JPG');
   documento.MoveRight(12); { Próxima célula }
   documento.font.bold := True;
   documento.TypeText('                               Controle: ' + dmpe.QorcamentoCODIGO.Text + #13);
   documento.TypeText('                               Data....: ' + dmpe.QorcamentoDATA.DisplayText + #13);
   documento.TypeText('' + #13 + #13);
   documento.TypeText('COTAÇÃO DE PREÇOS' + #13);
   documento.font.bold := False;
   documento.MoveDown; {sai da tabela}

   documento.Tables.Add(Range := Word.Selection.Range, NumRows := 1, NumColumns := 1);

   documento.font.bold := false;
   documento.TypeText('----------------------------------------------------------------------------------------------------------' + #13);
   documento.TypeText('Cliente..: ' + dmc.QdblookupclienteCLIENTE.AsString + #13);
   documento.TypeText('' + #13);
   documento.TypeText('Prezado Senhor.: ' + dmc.QdblookupclienteCONTATO.AsString + #13);
   documento.TypeText('' + #13);
   documento.TypeText('Em atenção a solicitação de V. Sas. informamos nossas melhores condições de fornecimento do seguinte material:' + #13);

   documento.TypeText('' + #13);
   documento.TypeText('Item Qtde              Descrição                         Marca              Preço     %IPI   %S.T.' + #13);
   documento.Typetext('----------------------------------------------------------------------------------------------------------' + #13);
                                                                                   
   documento.font.size := 8; //Tamanho da fonte

   item := 0;
   dmpe.QorcamentoItem.First;
   while not dmpe.QorcamentoItem.eof do
   begin
      item := item + 1;

      esp12 := StringOfChar(' ', 4 - length(IntToStr(item)) );

      esp23 := StringOfChar(' ', 4 - length(dmpe.QorcamentoItemQUANTIDADE.AsString) );

      esp34 := StringOfChar(' ', 50 - length(dmpe.QorcamentoItemPRODUTO.AsString) );

      esp45 := StringOfChar(' ', 20 - length(dmpe.QorcamentoItemMARCA.AsString) );

      esp56 := StringOfChar(' ', 10 - length(dmpe.QorcamentoItemVALOR.DisplayText) );

      esp67 := StringOfChar(' ', 5 - length(dmpe.QorcamentoItemPERCENTUALIPI.DisplayText) );

      documento.Typetext(IntToStr(item) + esp12 + '  ' + dmpe.QorcamentoItemQUANTIDADE.AsString + esp23 + '  ' + dmpe.QorcamentoItemPRODUTO.AsString + esp34 + '  ' +
      dmpe.QorcamentoItemMARCA.AsString + esp45 + '  ' + dmpe.QorcamentoItemVALOR.DisplayText + esp56 + '  ' +
      dmpe.QorcamentoItemPERCENTUALIPI.DisplayText + esp67 + '  ' +  dmpe.QorcamentoItemPERCENTUALSUBSTTRIB.DisplayText  + #13);

      dmpe.QorcamentoItem.Next;
   end; //end dos itemsn

   documento.font.size := 9; //Tamanho da fonte
   documento.Typetext('----------------------------------------------------------------------------------------------------------' + #13);
   documento.TypeText('Total Orçamento: ' + dmpe.QorcamentoTOTALORCAMENTO.DisplayText + '   ' + 'Total c/ IPI.: ' + dmpe.QorcamentoTOTALIPI.DisplayText + '   ' + 'Total c/ Subst. Trib.: ' + dmpe.QorcamentoTOTALSUBSTTRIB.DisplayText + #13);
   documento.TypeText('' + #13);
   documento.TypeText('CONDIÇÕES GERAIS' + #13);
   documento.TypeText('' + #13);
   documento.TypeText('PRAZO...: ' + dmpe.QorcamentoPRAZO.AsString + #13);
   documento.TypeText('ENTREGA.: ' + dmpe.QorcamentoENTREGA.AsString + #13);
   documento.TypeText('FRETE...: ' + dmpe.QorcamentoFRETE.AsString + #13);
   documento.TypeText('VALIDADE: ' + dmpe.QorcamentoVALIDADE.AsString + #13);
   documento.TypeText('OBS.: ' + dmpe.QorcamentoOBS.AsString + #13);
   documento.TypeText('' + #13);
   documento.TypeText('          Sem mais agradecemos a consulta e colocamo-nos à disposição.' + #13);
   documento.TypeText('' + #13);
   documento.TypeText('     Atenciosamente' + #13);
   documento.TypeText('' + #13);
   documento.TypeText('     CRISTIANO COLLING' + #13);
   documento.TypeText(#13);


   {---------------------- rodape ------------------------}

   word.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageFooter;
   docrodape := word.selection;
   wordsalve.pagesetup.FooterDistance := 65;
   docrodape.font.size := 8;
   docrodape.TypeText('WWW.DELTACORP.COM.BR - Software de Qualidade.  sistemas@deltacorp.com.br  (55)3387-2078 - Ajuricaba/RS');
   docrodape.ParagraphFormat.Alignment := wdAlignParagraphCenter;

   {-------------- fim rodape --------------------}

   caminho := dmconnect.caminhoOrcamento;
   if not DirectoryExists(caminho) then
      ForceDirectories(caminho);

   NomeArquivo :=  dmpe.QorcamentoCODIGO.AsString + '-' +  FormatDateTime('yyyy', dmpe.QorcamentoDATA.AsDateTime);
   wordsalve.saveas(widestring(Caminho + '\' + nomeArquivo), 0);
   Word.ActiveDocument.Close(SaveChanges := 0); //salva
   Word.visible := true; //torna visível o word
   Word.WindowState := 2; //0=default 1=maximize 2=minimize //minimiza
   //   Word.Quit;
   //   ndocumento.WindowState:=wsmaximized;
   BtnImprimir.Enabled := True;
   BtnVisualisar.Enabled := True;
   BtnDeletaorcamento.Enabled := True;
   BtnEnviar.Enabled := True;
end;
Responder

Posts

Resolvido, segue o comando

   documento.ParagraphFormat.SpaceBefore := 0;
   documento.ParagraphFormat.SpaceAfter := 0;


E aproveito para divulgar o link com mais comandos, porém em VBA, mas pode ser útil mesmo assim.

http://www.thezcorp.com/VBACodeSamples.aspx

Delmar
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira