Vinicius Passsos
-
Posts
11 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Vinicius Passsos
-
-
Olá pessoal,
A situação é aparentemente simples:
Suponha que eu tenha um arquivo com estas 3 imagens, como o anexo. Como eu faço via VBA para apagá-las do word.
Sendo mais específico: Eu quero poder, dependendo das condições do VBA, apagar a figura correspondente:
por exemplo
se a=1 apagar a imagem 1
se a=2 apagar a imagem 2
se a=3 apagar a imagem 3
Será que vocês conseguem me ajudar nisso?
O caminho inverso também serve:
se a = 1 cola a imagem 1
se a = 2 cola a imagem 2
se a = 3 cola a imagem 3
-------esse caminho é ainda melhor e mais adequado embora pareça ser o mais difícil
Qualquer ajuda serei grato
-
@Edson Luiz Branco não funcionou completamente,
daí eu fiz uma esqueminha aqui e deu certo:
word.documents.Open(new_path).Close
word.Visible = Falseeu acho que eu dei um gato no word, mas funcionou para o que eu precisava.
-
Senhores, boa tarde
Public Sub InspectionPlan()
'para abrir o pit em word
Set word = CreateObject("word.application")
word.Visible = Truefile_name = "PLANO DE INSPEÇÃO E TESTErev3.docx"
Path = file_name
Set PIT = word.documents.Open(Path)"
funções do documentoEnd Select
new_path = Gen_codigo
word.documents.Open(Path).SaveAs Filename:=new_path
word.documents.Close (new_path) -> ESSA PARTE NÃO FUNCIONA
End Subo código inteiro funciona. eu consigo abrir o documento, editar, salvar com o nome que quero.
Mas em word não sei fechar o documento. Alguém sabe o comando?
-
@Basole eu acho que onde eu tenho que fuçar um pouco no código é aqui:
Sub SetColumnWidthMM(ColNo As Long, mmWidth As Integer)
' ajusta a columa para mm
Dim w As Single
If ColNo < 1 Or ColNo > 255 Then Exit Sub
Application.ScreenUpdating = True
w = Application.CentimetersToPoints(mmWidth / 10)
While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > w
Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1
Wend
While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < w
Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1
Wend
End SubSub SetRowHeightMM(RowNo As Long, mmHeight As Integer)
' ajusta a linha para mm
If RowNo < 1 Or RowNo > 1048576 Then Exit Sub
Debug.Print Application.CentimetersToPoints(mmHeight / 10)
ActiveSheet.Rows(RowNo).RowHeight = Application.CentimetersToPoints(mmHeight / 10)
End Subque foi exatamente onde eu não entendi a lógica - não entendi porque você chama o ColNo de 7. Rola uma explicação?
-
-
Exatamente !!!!
Ele distorce!!!!!
Por isso eu acho que eu tenha que fazer alguma coisa antes. porque esse é o tamanho da placa de aço inox.
Vocês tem ideia de como proceder?
Em autoCAD basta fazer o desenho. Sai de forma simples, mas eu preciso disso em algum programa do office, seja excel ou word para automatizar os dados e não ter que desenhar uma plaquinha para cada eletrodoméstico.
-
OK.
A placa seria esse arquivo em excel.
Desse arquivo eu preciso gerar uma IMAGEM (jpeg, png, tanto faz) que tenha as exatas medidas de 150mm de altura e 195mm de largura.
a impressora entende a imagem (é uma impressora a laser pois a placa é de aço inoxidável)
Resumindo: Essa tabela será preenchida automaticamente via VBA (até aqui eu sei) e deve ser transformada em imagem com uma medida especifica SEM DISTORCER NADA.
Valeu pela ajuda
adicionado 3 minutos depois@Phenom_X4 não é bem isso...exportar os dados ok, eu sei.
o problema é fazer com que a placa tenha o tamanho exato de 150 x 195 mm
com essa tabela preciso gerar uma imagem (tipo save as image, ou paste as image) que tenha o tamanho de 150 x 195 mm sem distorcer nada.
Não acho que deve ser difícil...mas eu não sei como pesquisar sobre esse tema para poder me ajudar
-
E aí galera tudo bom?
Eu estou perdido com um problem no Word e não estou conseguindo nem pesquisar no google na direção para resolver o meu problema, tentarei ser o mais claro possível:
Eu preciso fazer uma placa de dados de equipamento eletrodoméstico: ou seja, dados de tensão, corrente, potência, uso externo/interno etc.
Esses dados são puxados via VBA de uma base, ou seja, dependendo do eletrodoméstico que você escolher, ele configura a placa de dados.
Essa placa de dados tem o tamanho de 195mm de largura e 150mm de altura.
Meu problema é configurar um template em word ou excel para que a impressão saia com essa medida, ou seja, eu quero fazer uma tabela de dados do meu jeito, com as minhas divisórias, mas que seja impressa na medida exata de 150 x 195 mm.
Tentei no excel mas não consegui, acho que no word deve ser mais simples, mas também estou tendo problemas....vcs saberiam me dizer que caminho devo seguir?
Tentei pesquisar como fazer uma etiqueta de tamanho customizado mas não está dando certo.
Vocês conseguiriam me ajudar???
Um grande abraço a todos
Att
Vinicius
-
DJ, confesso que não consegui executar seu código.
Abri um excel novo, colei no vba e não consegui rodar. Será que esqueci algum passo.
Basole, seu código de exemplo está bacana!! Agora estou tentando destrinchá-lo(muuuito F8) para entender como ele funciona e ver se consigo aplicar!
Obrigado
-
Pessoal, tudo bom?
Sou iniciante em VBA e basicamente faço os códigos catando tecos de códigos prontos na internet. Não tenho a pretensão de ser programador mas criar certas ferramentas no excel facilita minha vida.
estou parado em um pedaço do meu código que é o seguinte: preciso saber qual o país do usuário da planilha.
Esta planilha é usada por diversos setores da empresa no mundo todo, e ela gera um código que é o ano, o numero do formulário e o país em que ele foi gerado.
Só preciso de uma função, ou de uma forma de descobrir por VBA, qual o país do usuário.
O máximo que consegui foi o country code, com aquelas funções de application.internacional, mas por exemplo o country code do canadá e dos estados unidos são os mesmos....então já não me serve.
Será que vocês conseguem me ajudar??
Muito obrigado!!!
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
Cor de fundo dos checknox
em Microsoft Office e similares
Postado
Galera, boa tarde.
Estou com um probleminha chato no Excel, desenvolvi um seletor de produtos que tem checkbox que mudam de cor(disponível ou não disponível) de acordo com o produto setado.
Uma dessas opções é a "estrutura de adaptação", como vcs podem ver abaixo.
Reparem que ela está mais escura que o plano de fundo.
Eu rodo uma rotina que deixa todas as checkbox de uma cor única, e dependendo do produto, caso o opcional esteja disponivel, uso um select case que deixa o checkbox mais escuro.
Sub AccessSetting()
high_color_p = RGB(231, 230, 230) 'pattern color
'---------------------------------------------------------------------------
With FrmGeneral 'this parts puts all optional itens under the same color
.Chk_CCC.BackColor = high_color_p
.Chk_AddElectrical.BackColor = high_color_p
.Chk_ExtraClose.BackColor = high_color_p
.Chk_CloseMec.BackColor = high_color_p
.Chk_OpenMec.BackColor = high_color_p
.ChK_MecBlock.BackColor = high_color_p
.Chk_AuxTrans.BackColor = high_color_p
eu queria que esse backcolor ficasse da cor exata do plano de fundo, que é essa aqui ó:
mas eu só consigo trabalhar fazendo .backcolor = código em RGB. e não consigo transformar esse código em RGB.
como eu faço pra transformar essa cor: "&H8000000F&" em RGB ou colocar essa cor na função backcolor.
Já tentei fazer
.Chk_CCC.BackColor = "&H8000000F&"
deu o erro 3
Me ajuda aí Galera!!!!!