Ir ao conteúdo
  • Cadastre-se

Jvitorino1007

Membro Pleno
  • Posts

    30
  • Cadastrado em

  • Última visita

Reputação

3
  1. @Basole achei esse código, como poderia inserir no outro codigo? Tentei de algumas formas mas não consegui Dim wb As Workbook Dim prtvw As ProtectedViewWindow Set wb = prtvw.Edit() ou Sub wkBooks() Dim wbProtected As Workbook If Application.ProtectedViewWindows.Count > 0 Then Set wbProtected = Application.ProtectedViewWindows(1).Workbook End If
  2. Boa tarde, não se é possível realizar esse código. Tenho uma código que gera um documento no Word que pega as informações das Textbox preenchida e com um arquivo modelo ele preenche os dados. Só que tenho que desabilitar manualmente o modo de exibição protegido, teria algum código que faça isso de modo automático? Porque esse arquivo será disponibilizado para vários usuários. Private Sub CommandButton5_Click() Dim word Dim doc Dim StrFile As String, strFolder As String Set word = CreateObject("Word.Application") word.Visible = True Set doc = word.Documents.Add(ThisWorkbook.Path & "\Carta_Padrão.doc") With doc '*Dados fornecedor .FormFields("dia").Range = dia.Text .FormFields("mes").Range = mes.Text .FormFields("ano").Range = ano.Text .FormFields("Distribuidora").Range = Distribuidora.Text .FormFields("Subestação").Range = Subestação.Text .FormFields("Distribuidora1").Range = Distribuidora1.Text .FormFields("numero").Range = numero.Text .FormFields("BAY").Range = BAY.Text .FormFields("se1").Range = se1.Text .FormFields("codigo").Range = codigo.Text .FormFields("Distribuidora2").Range = Distribuidora2.Text .FormFields("dias").Range = dias.Text .FormFields("meses").Range = meses.Text .FormFields("anos").Range = anos.Text .FormFields("anoatualizado").Range = anoatualizado.Text .SaveAs (ThisWorkbook.Path & "\Carta_de_pré_aprovação - " & Subestação & "_" & BAY & ".docx ") word.Quit Set word = Nothing Set doc = Nothing End With MsgBox "Dados Gerados com Sucesso", vbInformation, "INFORMAÇÃO" Unload Me End Sub Gera o erro '5981' com o modo de exibição protegido, todos selecionados. Agradeço desde já.
  3. @Basole boa tarde, na verdade seria o modo protegido do Word, quando habilitado não permite o preenchimendo do arquivo gerando o erro '5981', tentei alguns códigos mas sem sucesso. Quando desabilitado funciona normalmente.
  4. @Basole Boa tarde, funcionou perfeitamente. Tem um porém, os computadores que tem o modo protegido não deixa o documento do Word ser aberto para preencher, teria algum código para fazer essa tarefa sozinho? Desde já agradeço pela ajuda
  5. Bom dia, tenho um programa no VBA que gera um arquivo no Word, e no momento ele está salvando em uma pasta especifica, no caso precisa que esse documento fosse salvo na mesma pasta em que a macro está salva . Alguém poderia me ajudar por gentileza? Já tentei algumas coisa mas nada deu certo. Dim word Dim doc Dim StrFile As String, strFolder As String Set word = CreateObject("Word.Application") word.Visible = True Set doc = word.Documents.Add(ThisWorkbook.Path & "\Carta_Padrão.doc") With doc '*Dados fornecedor .FormFields("dia").Range = dia.Text .FormFields("mes").Range = mes.Text .FormFields("ano").Range = ano.Text .FormFields("Distribuidora").Range = Distribuidora.Text .FormFields("Subestação").Range = Subestação.Text .FormFields("Distribuidora1").Range = Distribuidora1.Text .FormFields("numero").Range = numero.Text .FormFields("BAY").Range = BAY.Text .FormFields("se1").Range = se1.Text .FormFields("codigo").Range = codigo.Text .FormFields("Distribuidora2").Range = Distribuidora2.Text .FormFields("dias").Range = dias.Text .FormFields("meses").Range = meses.Text .FormFields("anos").Range = anos.Text .FormFields("anoatualizado").Range = anoatualizado.Text .SaveAs ("Z:\TOPE\23-Sistemas_de_Medição\_Medição de Faturamento\Concessionárias\TESTE\Carta_de_pré_aprovação - " & Subestação & "_" & BAY & ".docx ") word.Quit Set word = Nothing Set doc = Nothing End With MsgBox "Dados Gerados com Sucesso", vbInformation, "INFORMAÇÃO" Unload Me
  6. @Basole Muito obrigado pela ajuda. Não sei se é possível realizar está tarefa, cada documento gerado possui um nome diferente, e eles são salvos na mesma pasta. No caso precisava enviar esses documentos gerados por e-mail, mas não sei como posso escolher de forma automática, exemplo: gerou documento 1vai pegar somente o documento 1 para enviar por e-mail usando o outlook, se gerar o documento 2 vai pegar somente 2 e enviar, etc. Teria como ajudar por gentileza? Consigo só gerar um por vez mais de forma manual e não automática. Sub MandaEmail() Dim EnviarPara As String Dim Mensagem As String For i = 1 To 4 EnviarPara = ThisWorkbook.Sheets(1).Cells(i, 1) If EnviarPara <> "" Then Mensagem = ThisWorkbook.Sheets(1).Cells(i, 3) Envia_Emails EnviarPara, Mensagem End If Next i End Sub Sub Envia_Emails(EnviarPara As String, Mensagem As String) Dim OutlookApp As Object Dim OutlookMail As Object Dim xname As String Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .To = "[email protected]" .CC = "" .BCC = "" .Subject = "Pedido enviado" .Body = "Mensagem teste" .Display ' para envia o email diretamente defina o código .Send .Attachments.Add ("C:\Users\jvitorino\Desktop\Trabalho Emerson\Cartas Geradas\CARTA_DE_PRÉ_APROVAÇÃO - Birigui 2 Guarani.docx") End With Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub
  7. @Basole Bom dia amigo, funcionou perfeitamente, muito obrigado novamente. Eu tenho 5 checkbox individuais onde cada um possui 6 campos que são preenchidos com valores e esses valores vão para o word, eu usei esse código: If ComboBox1.Value <> "" Then .FormFields("proteção").Range = TextBox55.text .FormFields("curva").Range = ComboBox1.text .FormFields("itemp").Range = TextBox7.text .FormFields("ipk").Range = TextBox8.text .FormFields("instant").Range = TextBox9.text .FormFields("tinstant").Range = TextBox10.text Else End If If ComboBox2.Value <> "" Then .FormFields("proteção").Range = TextBox56.text .FormFields("curva").Range = ComboBox2.text .FormFields("itemp").Range = TextBox11.text .FormFields("ipk").Range = TextBox12.text .FormFields("instant").Range = TextBox13.text .FormFields("tinstant").Range = TextBox14.text Else End If No caso se o comboxbox1 estiver com qualquer valor ele vai mandar os dados para o word e assim com o combobox 2. Mas está dando erro quando tenho informações no combo 1 e 2, não sei qual condição colocar para pegar apenas os valores do combo 1 mesmo que o combo 2, 3, 4 e 5 estiverem preenchidos também e isso para os demais. Poderia me dar mais uma força por gentileza? Esse trabalho é um projeto de estágio e o meu TCC.
  8. @Basole @Basole amigo show de bola cara, nem sei como te agradecer por essas ajudas, esse trabalho é o meu projeto de estágio...ficou 10 com sua ajuda valeu mesmo. Muito obrigado mesmo pela ajuda, acredito que novas dúvidas viram e se puder continuar me dando esse auxilio eu agradeço de coração. adicionado 18 minutos depois @Basole Como eu disse, estou tentando colocar em negrito e uma letra maior no "Curva de seletividade de fase e de neutro" mas esta dando erro.
  9. @Basole amigo também precisava aumentar a figura, tentei alguns códigos mas não deram ressultados.
  10. @BasoleBom dia amigo, segue a arquivo em word...seria possivel deixar um título em cima de cada imagem? Ex: primeira imagem " Curva de seletividade de fase" e segunda imagem " Curva se sletiviadade de neutro" Test1.docx
  11. @Basole @Basole vou enviar, adicionado 11 minutos depois teste.xls adicionado 39 minutos depois @Basole amigo consegui reslover essa parte aqui, qual o comando que posso utilizar para movimentar a imagem dentro do word ? Tentei colocar alguns aqui mas não deu certo
  12. @Basole Bom dia amigo, vou tentar aqui muito obrigado novamente.Obrigado mesmo adicionado 29 minutos depois @Basole Private Sub CommandButton1_Click() Dim Word Dim documento Set Word = CreateObject("Word.Application") Word.Visible = True Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx") Dim docativo Set docativo = documento With docativo .Range.Paragraphs.Last.Range.InsertParagraphAfter Set nxPara = .Paragraphs.Last nxPara.Range.InsertBreak Type:=wdPageBreak Set s = nxPara.Range.InlineShapes.AddPicture(nome, False, True) s.Width = 400 End With With docativo .Range.Paragraphs.Last.Range.InsertParagraphAfter Set nxPara = .Paragraphs.Last nxPara.Range.InsertBreak Type:=wdPageBreak Set s = nxPara.Range.InlineShapes.AddPicture(figura, False, True) s.Width = 400 End With With documento .FormFields("nome").Range = TextBox1.Value .FormFields("en").Range = TextBox2.Value End With End Sub Private Sub CommandButton3_Click() Set foto = Sheets("Plan1").ChartObjects("Gráfico 1").Chart nome = ThisWorkbook.Path & Application.PathSeparator & "temp.gif" foto.Export Filename:=nome, filtername:="GIF" Image1.Picture = LoadPicture(nome) Set foto = Sheets("Plan1").ChartObjects("Gráfico 2").Chart figura = ThisWorkbook.Path & Application.PathSeparator & "temp.gif" foto.Export Filename:=nome, filtername:="GIF" Image2.Picture = LoadPicture(figura) End Sub Esse é o código completo que estou usando, ele carrega as duas imagens no userform mas está exportando somente a figura 2.
  13. @Basole Vou tentar aqui, muito obrigado novamente adicionado 2 minutos depois @Basole Amigo obrigado mesmo deu certo aqui nota 10 valeu mesmo adicionado 9 minutos depois @Basole A última dúvida eu tenho que inserir mais uma imagem desse jeito também...e está pulando 3 páginas se eu quiser diminuir como faço..to quebrando a cabeça nisso e você em 1 minuto faz kkk a última ajuda po gentileza se não for pedir demais
  14. @Basole Vou tentar aqui amigo, muito obrigado desde já. adicionado 15 minutos depois @Basole amigo deu certo, mas queria que somente a imgem fosse para outra página, o texto está indo junto...
  15. @Basole Private Sub CommandButton1_Click() Dim Word As Object Dim documento As Object Dim selection As Document Dim oImage As Shape Set Word = CreateObject("Word.Application") Word.Visible = True Set documento = Word.Documents.Add(ThisWorkbook.Path & "\Test.docx") Dim docativo Set docativo = documento docativo.InlineShapes.AddPicture Filename:=nome, LinkToFile:=False, SaveWithDocument:=True End Sub

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