Boas, já efectuei várias pesquisas mão não encontrei o que queria.
Gerar um word.doc e guardá-lo automaticamente numa pasta especifica. Nem sempre é a mesma pasta e ás vezes a pasta não existe pelo que tem que se criar(aqui está o problema).
Para pdf já consegui o problema é que necessito para word vistoque tenho um modelo pré definido.
Em pdf utilizo:
Em word utilizo:
mas queria adaptar o código que tenho para criar o pdf na parte:
ou seja
.ActiveDocument.SaveAs CurrentProject.Path & "\Inquéritos\" & Nz(Replace(Me!Rótulo615, "/", "_")) & " - Distribuição" & ".doc"
e
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
Else
MkDir strLocal ' se nao existir cria
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
visto que apenas quero gerar o word não utilizo a função print
Gerar um word.doc e guardá-lo automaticamente numa pasta especifica. Nem sempre é a mesma pasta e ás vezes a pasta não existe pelo que tem que se criar(aqui está o problema).
Para pdf já consegui o problema é que necessito para word vistoque tenho um modelo pré definido.
Em pdf utilizo:
- Código:
Private Sub Comando851_Click()
Dim strArquivo As String
Dim strLocal As String
Dim fso As Object
Dim strDocumento As String
Dim numCop As Integer
Select Case MsgBox("DESEJA CRIAR PDF?", vbInformation + vbYesNoCancel, [CodBarra])
Case vbYes
'DoCmd.Save
DoCmd.OpenReport "Despacho_4", acViewPreview, , "[CódigoDoProduto] = " & [CódigoDoProduto]
DoCmd.Maximize
strLocal = CurrentProject.Path & "\Inquéritos\" & Replace(Replace(Me!CodBarra, "/", "_"), ".", "-") & "\"
strDocumento = "Despacho_4"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.folderexists(strLocal) Then ' verifica se ja existe a pasta e subpasta
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
Else
MkDir strLocal ' se nao existir cria
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
End If
numCop = InputBox("Informe a quantidade de cópias: ", "IMPRIMIR") 'Valor este que pode ser obtido por outro meios
DoCmd.PrintOut acPrintAll, , , acHigh, numCop 'Linha simplificada para a impressão
DoCmd.Close
Case vbNo
DoCmd.OpenReport "Despacho_4", acViewPreview, , "[CódigoDoProduto] = " & [CódigoDoProduto]
DoCmd.Maximize
numCop = InputBox("Informe a quantidade de cópias: ", "IMPRIMIR") 'Valor este que pode ser obtido por outro meios
DoCmd.PrintOut acPrintAll, , , acHigh, numCop 'Linha simplificada para a impressão
DoCmd.Close
Case vbCancel
End Select
End Sub
Em word utilizo:
- Código:
Private Sub Comando906_Click()
Dim wdApl As Object
Set wdApl = CreateObject("Word.Application")
wdApl.Documents.Open FileName:=CurrentProject.Path & "\FormuláriosAuto\Despacho.doc"
With wdApl
.ActiveDocument.Bookmarks("Texto2").Select: .Selection.text = Nz(Forms![Termo recebimento inq].Rótulo615) 'Processo
.ActiveDocument.Bookmarks("Texto3").Select: .Selection.text = Nz(Forms![Termo recebimento inq].Texto741 & " " & Forms![Termo recebimento inq].Texto743 & " " & Forms![Termo recebimento inq].Texto744) 'Processo
.ActiveDocument.Bookmarks("Texto9").Select: .Selection.text = Nz(Forms![Termo recebimento inq].Texto741 & " " & Forms![Termo recebimento inq].Texto743 & " " & Forms![Termo recebimento inq].Texto744) 'Processo
.ActiveDocument.Bookmarks("Texto6").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[Caixa de combinação305])
.ActiveDocument.Bookmarks("Texto10").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[Caixa de combinação304])
.ActiveDocument.Bookmarks("Texto5").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[Caixa de combinação669])
.ActiveDocument.Bookmarks("Texto13").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[Caixa de combinação665])
.ActiveDocument.Bookmarks("Texto8").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[Texto18])
.ActiveDocument.Bookmarks("Texto4").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[CP])
.ActiveDocument.Bookmarks("Texto11").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[postocp])
.ActiveDocument.Bookmarks("Texto12").Select: .Selection.text = Nz(Forms![Termo recebimento inq].[CaixaCombinação907])
.ActiveDocument.SaveAs CurrentProject.Path & "\Inquéritos\" & Nz(Replace(Me!Rótulo615, "/", "_")) & " - Distribuição" & ".doc"
.ActiveDocument.Close
.Quit
End With
Set wdApl = Nothing
MsgBox "''Distribuição'' gerado em Word com sucesso na pasta ''Inquéritos''.", vbInformation, "Aviso"
Me.Comando909.Visible = True
End Sub
mas queria adaptar o código que tenho para criar o pdf na parte:
- Código:
strLocal = CurrentProject.Path & "\Inquéritos\" & Replace(Replace(Me!CodBarra, "/", "_"), ".", "-") & "\"
strDocumento = "Despacho_4"
ou seja
.ActiveDocument.SaveAs CurrentProject.Path & "\Inquéritos\" & Nz(Replace(Me!Rótulo615, "/", "_")) & " - Distribuição" & ".doc"
e
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
Else
MkDir strLocal ' se nao existir cria
DoCmd.OutputTo acOutputReport, strDocumento, acFormatPDF, strLocal & strDocumento & " " & Replace(Me!CodBarra, "/", "_") & " _ " & Me![CódigoDoProduto] & ".pdf", False
visto que apenas quero gerar o word não utilizo a função print