Word Userform en afdrukvoorbeeld

Status
Niet open voor verdere reacties.

maomanna

Gebruiker
Lid geworden
20 feb 2014
Berichten
234
Hallo allen,

enige tijd geleden heb ik dit gemaakt:
http://www.helpmij.nl/forum/showthread.php/901001-Word-document-opslaan-als-PDF-en-mailen/page2

Nu was het simpel aanpassen naar het printen van het document.

Nu zou ik alleen een extra functionaliteit willen toevoegen aan het document, namelijk een printpreview vanuit het Userform
Het toevoegen van ActiveDocument.PrintPreview werkt opzich, maar dan kan je er niet doorheen scrollen.
Als iemand het document heeft bekeken, dan moet er de vraag komen: akkoord? Ja = Printen en opslaan als PDF op locatie naar keuze, Nee = naar het userform en aanpassen.

Jullie een idee

De code van de knop:
Code:
Private Sub btnVerzend_Click()
Dim olkApp As Object
Dim ct As Control
Dim docVar As Variable
Dim shp As InlineShape
Dim i As Integer
Dim ctl

    For Each ct In Controls
        If TypeName(ct) = "TextBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Text = "", " ", ct.Text)
        If TypeName(ct) = "CheckBox" Then ActiveDocument.Variables(ct.Name) = IIf(ct.Value = 0, 0, 1)
        If TypeName(ct) = "ComboBox" Then
            Select Case ct.Name
                Case "cboBehoefte"
                    ActiveDocument.Variables(ct.Name).Value = IIf(Me.cboBehoefte.Value = "", " ", Me.cboBehoefte.Value)
                Case "cboOpdrOpties"
                    ActiveDocument.Variables(ct.Name).Value = IIf(strOpdrOpties = "", " ", strOpdrOpties)
                Case "cboOpdreenheid"
                    ActiveDocument.Variables(ct.Name).Value = IIf(Me.cboOpdreenheid.Value = "", " ", Me.cboOpdreenheid.Value)
                End Select
        End If
    Next

    ActiveDocument.Fields.Update

ActiveDocument.PrintPreview
Dim strMsg As String
Dim strTitle As String
' Dialog Message
strMsg = "Is het zo goed?" & vbCrLf & ""
' Dialog's Title
strTitle = "Sluiten"
'Display MessageBox
    Ret_type = MsgBox(strMsg, vbYesNo + vbQuestion, strTitle)
' Check pressed button
Select Case Ret_type
Case 6
    Application.Quit
Case 7
    If ActiveDocument.FullName <> "" Then

ActiveDocument.SaveAs2
'
'Silent Save_to_PDF Macro
'
    
    ActiveDocument.ExportAsFixedFormat OutputFileName:="H:\ " & Me.txtNaam & ".pdf", _
    ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
    wdExportOptimizeForPrint, Range:=wdExportAllDocument, Item:= _
    wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _
    CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
    BitmapMissingFonts:=True, UseISO19005_1:=False

End If

    MsgBox "De overeenkomst is in tweevoud naar de printer gestuurd." & vbCrLf & vbCrLf & "Dit document wordt nu afgesloten."
    
 '  For Each ctl In Me.Controls
 '       If TypeOf ctl Is MSForms.TextBox Then
 '           ctl.Text = ""
 '       End If
 '           Me.cboBehoefte.Value = Null
 '           Me.cboOpdreenheid.Value = Null
 '           Me.cboOpdrOpties.Value = Null
 '   Next ctl
   
   Unload Me
   
  ActiveDocument.Close
 Unload Me
     
End Sub

Jullie een idee/tip?
 
Het toevoegen van ActiveDocument.PrintPreview werkt opzich, maar dan kan je er niet doorheen scrollen.
Weet je dat zeker? Als ik de code gewoon in een document zelf draai, is er niks aan de hand en kun je gewoon scrollen. Overigens vind ik het 'probleem' een beetje overbodig; je vraagt immers al of de gebruiker het zeker weet, dus waarom moet de (zeker wetende) gebruiker nog een keer door zijn document scrollen? Als hij/zij het niet zeker weet, klikt-ie wel op een andere optie en gaat-ie zelf wel door het document heen om te kijken waar de twijfel zit. Kortom: je kunt het 'gebruikersgemak' ook overdrijven.
Maar als de code wél werkt in het document, maar niet als het formulier nog geopend is, zou ik eerst het formulier sluiten en dan de rest laten draaien.
 
....
Maar als de code wél werkt in het document, maar niet als het formulier nog geopend is, zou ik eerst het formulier sluiten en dan de rest laten draaien.
Is een optie, maar hoe krijg ik dan het userform weer terug om de tekst aan te passen?


tjah, dat zijn de signalen die van de gebruikers afkomen.
Ze willen kunnen zien wat ze hebben ingevuld. hoe het geheel eruit komt te zien.
Als het totaal gezien is, en het is akkoord, dan moet het worden opgeslagen en geprint.
Is het niet goed, dan moet het userform weer terug komen zodat de gebruiker het kan aanpassen.

Het format mag, op de aangegeven velden, niet worden aangepast.

Nu is het mogelijk om voor elke soort (5 stuks) een format te maken en invulvelden maken, dat document beveiligen en klaar.

Wat zouden jullie doen?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan