Avatar billede e100 Nybegynder
09. august 2006 - 15:03 Der er 7 kommentarer og
2 løsninger

E-mail med prompt boks

Hej,

Jeg har fået lidt hjælp til at lave en makro, der lader mig afkrydse, hvilke ark i mit projekt som jeg vil sende til printeren. Dvs. jeg trykker på min "Print" knap, herefter sætter jeg kryds i de ark jeg ønsker at printe og så sendes disse til windows default printer.

Jeg kunne godt tænke mig samme funktionalitet, men istedet for at sende arkene til printeren vil jeg gerne have dannet PDF dokumenter. (Gerne et for hvert ark i projektet).

Min print makro ser således ud:

Option Explicit

Sub Printtotal()
    Dim i As Integer
    Dim TopPos As Integer
    Dim SheetCount As Integer
    Dim PrintDlg As DialogSheet
    Dim CurrentSheet As Worksheet
    Dim OriginalSheet As Worksheet
    Dim cb As CheckBox
    Application.ScreenUpdating = False

'  Check for protected workbook
    If ActiveWorkbook.ProtectStructure Then
        MsgBox "Projektmappen er beskyttet!", vbCritical
        Exit Sub
    End If

'  Add a temporary dialog sheet
    Set OriginalSheet = ActiveSheet
    Set PrintDlg = ActiveWorkbook.DialogSheets.Add

    SheetCount = 0

'  Add the checkboxes
    TopPos = 40
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Set CurrentSheet = ActiveWorkbook.Worksheets(i)
'      Skip empty sheets and hidden sheets
        If Application.CountA(CurrentSheet.Cells) <> 0 And _
            CurrentSheet.Visible Then
            SheetCount = SheetCount + 1
            PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
                PrintDlg.CheckBoxes(SheetCount).Text = _
                    CurrentSheet.Name
            TopPos = TopPos + 13
        End If
    Next i

'  Move the OK and Cancel buttons
    PrintDlg.Buttons.Left = 240

'  Set dialog height, width, and caption
    With PrintDlg.DialogFrame
        .Height = Application.Max _
            (68, PrintDlg.DialogFrame.Top + TopPos - 34)
        .Width = 230
        .Caption = "Vælg hvilke ark der skal udskrives"
    End With

'  Change tab order of OK and Cancel buttons
'  so the 1st option button will have the focus
    PrintDlg.Buttons("Button 2").BringToFront
    PrintDlg.Buttons("Button 3").BringToFront

'  Display the dialog box
    OriginalSheet.Activate
    Application.ScreenUpdating = True
    If SheetCount <> 0 Then
        If PrintDlg.Show Then
            For Each cb In PrintDlg.CheckBoxes
                If cb.Value = xlOn Then
                    Worksheets(cb.Caption).Select Replace:=False
                End If
            Next cb
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'          ActiveSheet.Select
        End If

    Else
        MsgBox "Alle ark er tomme!"
    End If

'  Delete temporary dialog sheet (without a warning)
    Application.DisplayAlerts = False
    PrintDlg.Delete

'  Reactivate original sheet
    OriginalSheet.Activate
End Sub

Jeg håber der er nogle som kan hjælpe.

/E100
Avatar billede gammer Nybegynder
09. august 2006 - 21:20 #1
Jeg har fået et print til en pdf-fil ved at ændre følgende linie
Fra:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True


Til:
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="BroadGun pdfMachine", Collate:=True

I mit tilfælde bruger jeg BroadGun pdfMachine til at lave pdf-filer med.

BroadGun PdfMachine lægger sig som en printer, og det er den jeg kalder frem til at lave pdf-filen.

Du skal erstatte BroadGun pdfMachine med den pdf-"brygger" som du evt. har installeret. 

ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="xxxxxxxxx", Collate:=True
Avatar billede e100 Nybegynder
09. august 2006 - 22:09 #2
Hej,

Tak for hjælpen, jeg har selv rodet med det et stykke og har med dit input fået løst den sidste krølle..... "Collate:=True" skal stå efter ActivePrinter.... ellers virker det ikke!!!

Ved du om det er muligt at foreslå et navn på pdf filen baseret på nogle felter i mit regneark... noget i retning af:

fileTosave = "H:\kunder\" & Range("B5") & "_" & Range("I2")

/E100
Avatar billede gammer Nybegynder
09. august 2006 - 22:20 #3
Jeg tror ikke det er muligt med en makro, da det ikke er Excel der styrer pdf-"bryggeren".
Avatar billede e100 Nybegynder
09. august 2006 - 22:26 #4
....det har du nok desværre ret i. Så skal jeg fra min makro kunne sende koder afsted til min pdf skriver. Jeg har adgang til en udvikler version af et pdf program, så må jeg se om jeg evt. kan finde lidt hjælp til den.

Du får points som tak for hjælpen. En sidste ting... hvis jeg vil benytte samme tankegang til at vedhæfte de valgte ark på en e-mail - hvordan kunne det strikkes sammen? Jeg regner med at det er i samme sektion at jeg skal have skiftet "PrintOut" ud med en form for MailOut!?

/E100
Avatar billede gammer Nybegynder
09. august 2006 - 22:38 #5
Jeg vil tro at en e-mail funktion skal strikkes sammen på den måde du beskriver - men der må jeg desværre melde pas. Jeg ved emnet har været behandlet flere gange på Eksperten, så der skulle være mulighed for finde makro-stumper her som du evt. kan prøve dig frem med.

I det oprindelige svar hvor jeg fandt printmakroen, blev e-mail af ark også behandlet - jeg ved ikke om det er noget du kan bruge.

Evt. skal du lade spørgsmålet stå åbent lidt endu for at se om der er andre der har et bud på hvordan det sidste problem skal klares.

Lukker for idag
Avatar billede e100 Nybegynder
09. august 2006 - 22:45 #6
Tak for hjælpen. Jeg opretter mail delen som et nyt spørgsmål så du kan få points for denne.

Bare smid et svar. ok

/E100
Avatar billede gammer Nybegynder
10. august 2006 - 07:26 #7
Her kommer et svar. 

Svaret er ikke til 150 points, da jeg bl.a. mangler at besvare e-mail delen. Så jeg synes du skal tage nogle point tilbage til dig selv!
Avatar billede e100 Nybegynder
10. august 2006 - 15:40 #8
Ok fair nok. Du får 100 points for hjælpen og så trækker jeg 50 tilbge.

Endnu en gang tak for hjælpen
Avatar billede gammer Nybegynder
10. august 2006 - 15:46 #9
Jeg takker for points.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester