Ir ao conteúdo
  • Cadastre-se

Edson Luiz Branco

Membro Pleno
  • Posts

    844
  • Cadastrado em

  • Última visita

Tudo que Edson Luiz Branco postou

  1. 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
  3. O que é "Motor"? Esse objeto não está definido em seu código. Qual a mensagem de erro? O ideal seria você disponibilizar seu arquivo aqui mesmo para sermos mais assertivos. Limpe ou distorça quaisquer informações confidenciais antes de anexar.
  4. Boa noite, @vicente barcelos. No VBA, marque referência à biblioteca do Word como indicado na figura abaixo para poder usar Early Binding dos objetos do Word. O número 16.0 corresponde à versão instalada no PC que no meu caso é do Office 2016. No seu caso possivelmente seja outro número.
  5. No teste que fiz rapidamente aqui, não houve problema o app estar visível ou não.
  6. 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.
  7. Se seu Office está no idioma português de Portugal, tente CONTAR.SE ao invés de CONT.SE. [Ops, não percebi que o @Patropi tinha acabado de responder...]
  8. Um CONT.SE já deve fornecer o resultado desejado, @Bikke. =SE(CONT.SE(FeriasBaixasOutros!BQ8:BX38;A11)>0;"Acidente Serviço";"")
  9. 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á.
  10. @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.
  11. Na verdade não te passei nenhum código, apenas expliquei com um exemplo o parâmetro FieldInfo do método Workbooks.OpenText. Mas como você já conseguiu resolver o problema, isso é o que importa.
  12. 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))...
  13. Na etapa 3 da importação, na caixa de diálogo selecione a coluna correspondente e defina os valores como texto antes de concluir a importação. Veja na figura abaixo:
  14. 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
  15. Na guia "Exibir", grupo "Janela" clique em "Reexibir" e procure se sua Pasta de Trabalho Excel não aparece ali como oculto.
  16. Boa noite, @Flavia Azevedo Brito Provavelmente é porque o que está sendo exibido internamente não está arredondado corretamente. Clique na célula onde está o Preço Unitário (R$ 20,48) e olhe na barra de fórmulas o que aparece. Faça o mesmo com a célula onde está a quantidade (382). Veja na imagem anexa um exemplo do que estou dizendo.
  17. 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.
  18. 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
  19. Alternativamente você poderia listar os meses (nomes das planilhas) num intervalo de células e usar a função INDIRETO para varrer todos eles em busca do valor com o PROCV. CONTROLE DE CT-Es.xlsx
  20. 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). Com o pdf aberto, vá em Arquivo > Propriedades > aba "Fontes". Veja, por exemplo: Unreadable text on PDF for some users
  21. 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
  22. Copie a célula do arquivo Excel já salvo e no local desejado no Word, com o botão direito escolha entre "Vincular e Manter Formatação Original" ou "Vincular e Mesclar Formatação". Faça um teste alterando a célula e, se o conteúdo no Word não alterou imediatamente, clique sobre ele 1 vez e dê F9.
  23. Tecle ALT + ENTER no ponto do texto em que você quer inserir uma quebra de linha dentro de uma célula.
  24. Dá uma pesquisada aqui mesmo no Clube do Hardware sobre esse assim chamado "Mercado Cinza' de produtos aparentemente originais e oficiais (Windows, Office e outros) , mas que na verdade são ilegais:

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...