Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    844
  • Cadastrado em

  • Última visita

posts postados por Edson Luiz Branco

  1. 14 minutos atrás, vicente barcelos disse:

    ...fazer com que, o arquivo do word (novo), seja em um ja existente, tipo: timbrado.doc

     

    O ideal em seu caso seria você criar um Modelo do Word (.dot ou .dotx) e não um Documento (.doc ou .docx) já com todos os campos que são variáveis posicionados nos locais apropriados.

    Dê uma pesquisada no assunto "Mala Direta" do Word usando como base um intervalo de planilha do Excel.

  2. Há várias divergências entre o que está no código e a realidade de seu arquivo, pois provavelmente o arquivo original do qual você copiou tinha outra estrutura (uma planilha cujo CodeName era Motor onde havia uma Tabela = ListObject nomeada "proposmac" e não um Intervalo = Range com esse  nome), talvez por isso seu código não mais tenha funcionado no novo arquivo.

    Faça um teste com o código abaixo:

     

    Sub proposmac()
      With New Word.Application
        .Visible = True
        .Activate
         With .Documents.Add
           Excel.Application.Range("proposmac").Copy
           .Application.Selection.PasteExcelTable LinkedToExcel:=True, WordFormatting:=False, RTF:=True
           With .Tables(.Tables.Count)
             .AllowAutoFit = False
             .AutoFitBehavior wdAutoFitWindow
           End With
         End With
      End With
      Excel.Application.CutCopyMode = False
    End Sub
    

     

    • Obrigado 1
  3. Sua variável é "ulinha" (ulinha =...) ou "linha" (.Cells(linha, 2)...)?

    Dica: sempre coloque no topo de seus códigos a instrução Option Explicit.

    Isso obriga o programador a declarar todas as variáveis que irá utilizar antes de rodar o código o que evita esse tipo de erro.

     

  4. Boa noite, @Kadu Du

     

    Sua planilha "Linha 5" tem mais de 20.000 pequenas caixas de texto transparentes sobrecarregando quaisquer operações, provavelmente provenientes de repetidas operações de Cópia x Colagem de alguma página internet ou outro sistema. 

    Este problema é idêntico ao do tópico abaixo, daqui do fórum. Siga as mesmas orientações que sugeri na ocasião e provavelmente esse delay desaparecerá.

     

    • Curtir 2
  5. @Midori tem razão, @Joannes. Esse é um suplemento ("AddIn") tipo "Aplicativo do Office", recentemente rebatizado para "Suplementos do Office", diferente portanto dos suplementos do VBA e os suplementos COM.

    Você deve ter instalado meio sem querer talvez...

    Para desinstalar, pode seguir pela guia Arquivo, pela guia Página Inicial ou, se sua guia Desenvolvedor estiver sendo exibida, pode ser por ali também, lembrando que estou me referindo ao Excel 2016 que é o que tenho aqui, mas que deve ser semelhante nas versões mais recentes.

    Siga os passos da figura abaixo.

     

    EliminarSuplemento(Aplicativo)Office.thumb.jpg.1074ca52dd6436e7b1bf916d62c1a0b1.jpg

    • Curtir 3
  6. Em seu código, o parâmetro FieldInfo abaixo:

     

    ..., FieldInfo:=Array(Array(5, 2))...

     

    Está dizendo que somente a 5ª coluna (Array(5, 2)) do seu CSV será forçada a ser do tipo Texto (xlTextFormat tem o valor = 2) e as demais, como não especificadas, serão tratadas como do tipo "Geral". Se desejar que mais alguma coluna seja tratada como texto, aninhe mais um array para incluí-la também. Por exemplo, se além da 5ª coluna também quiser a 7ª coluna como texto, altere a partícula destacada para:

     

    ..., FieldInfo:=Array(Array(5, 2), Array(7,2))...

     

  7. Seu código não está pegando os diálogos que começam numa linha e terminam em outra, mas apenas os que têm o <i> e o </i> na mesma linha.

    Uma alternativa ao seu código poderia ser:

    Sub ExtrairTextos2()
      Dim text As String, i As Long
      text = Join(Application.Transpose(Intersect(Columns("A"), ActiveSheet.UsedRange)), " ")
      With CreateObject("VBScript.RegExp")
        .Pattern = "<i>([\s\S]+?)</i>":   .Global = True
        If .Test(text) Then
          For i = 1 To .Execute(text).Count
            Cells(i, "B").Value = .Execute(text)(i - 1).SubMatches(0)
            If i = 1000 Then
              i = i + 1
              Exit For
            End If
          Next i
          MsgBox ("Foram extraídos " & i - 1 & " textos em inglês de um total de " _
                   & .Execute(text).Count) & " textos."
        End If
      End With
    End Sub
    

     

    • Curtir 1
  8. Sem VBA fica mais complicado, pois vai depender do nível de zoom que sua planilha está, da resolução e do tamanho do seu monitor (quantas colunas estão visíveis), da largura das colunas, inclusive as à direita, se a Pasta de Trabalho Excel e a janela da da planilha em questão estão maximizadas ou não, etc...

     

    Mas se você sempre usa no mesmo PC e sempre maximizado, dá pra você mandar o link selecionar N colunas adiante da data em questão, de modo que N desloque a data atual para a primeira coluna ao lado da última congelada.

     

    Pra isso você teria que somar um delta no argumento núm_col da função ENDEREÇO (manualmente ajustado até dar certo).

     

    Note contudo que a intenção de seu interesse inicial, a de que a data de hoje seja selecionada, não será mais atendida pois a célula selecionada ficará à frente desta.

  9.  Dá pra usar um artifício com a fórmula HIPERLINK, que é a única fórmula "ativa" do Excel que eu conheço (as demais apenas retornam alguma coisa mas não fazem).

     

    Supondo que você queira ir para a linha 1 e coluna = coluna que contenha a data de hoje e que a família de datas estejam da célula F1 em diante (F1, G1, H1, ...), você poderia usar, por exemplo:

    =HIPERLINK("#" & ENDEREÇO(LIN(F1);CORRESP(HOJE();$F$1:$AG$1;0)+COL(F1)-1);"IR PARA HOJE")

     

    Dá inclusive pra usar um ícone simulando um botão no lugar do Texto Amigável, por exemplo:

     

    =HIPERLINK("#" & ENDEREÇO(LIN(F1);CORRESP(HOJE();$F$1:$AG$1;0)+COL(F1)-1);"📅")

     

    Exemplo no anexo.

    HiperlinkColunaDia=Hoje(CdoH).xlsx

    • Curtir 1
  10.  

    13 horas atrás, thiago.jj disse:

    ...seria alguma fonte?

    Pois é, @thiago.jj , diversas pessoas já relataram esse problema no fórum Community da Adobe e a resposta é que é sim problema de fonte: quem gerou o PDF não incorporou a fonte e portanto pode não aparecer corretamente no Reader.

     

    Já os navegadores web, por usarem seus próprios mecanismos para renderizar e exibir pdf's, podem reproduzir corretamente ou substituir fontes internamente por uma mais próxima na exibição.

     

    Também, de um PC para outro o arquivo pode aparecer corretamente, mesmo no Reader e com a mesma versão instalada, dependendo de que fontes cada PC tem disponível.

     

    A única dica do pessoal do suporte lá - além de orientar você a pedir pra gerarem de novo o PDF mas incorporando a fonte - é ver se a configuração em Editar > Preferências > Exibição de página > grupo "Renderização" > "Usar fontes locais" está marcada (deve estar marcada).

     

    13 horas atrás, thiago.jj disse:

    ...teria como descobrir qual fonte utilizam?

     

    Com o pdf aberto, vá em Arquivo > Propriedades > aba "Fontes".

     

     

    Veja, por exemplo: Unreadable text on PDF for some users

     

    • Curtir 3
  11. De fato o Word não responde à funcionalidade do recurso de estrutura/níveis de tópico quando dentro de tabelas.

     

    Uma maneira possível de emular isso mas muito trabalhosa talvez seria você deixar um pequeno shape próximo ao nível de tópico mais alto e trabalhar um código no VBA que exibisse/escondesse níveis de tópico inferiores e também corpo de texto usando o recurso de Texto Oculto.

     

    Na verdade o código não faria o Expandir/Recolher da estrutura de tópicos original mas sim aplicaria Texto Oculto ora sim ora não lendo nos parágrafos adiante quais os de menor nível pra decidir quais ocultar.

     

    Outra saída, por um caminho um pouco diferente mas ainda por VBA seria usar o antigo controle Treeview também disponível no VBA, que na verdade, é feito para esse tipo de situação, não rigorosamente como na sua especificação mas é um controle, como o nome indica, de visualização em árvore.

     

    No momento não disponho de tempo pra desenvolver isso, mas fica como um encorajamento e uma linha de raciocínio que você poderia seguir

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!