Avatar billede jedimaster Nybegynder
02. marts 2005 - 15:51 Der er 8 kommentarer og
1 løsning

Macro til udskrivning

Hej. Er der en der kan hjælpe med en macro der skal kunne følgende;

Når jeg har åbnet mit dokument der er flettet med et excel-regneark, skal jeg kunne aktivere en macro der kan følgende:

- komme frem med en boks hvor i jeg angiver hvilket rækkenummer dokumentet skal flette - og det skal kun være det rækkenummer.

- Det flettede dokument skal herefter udskrives til standard printeren i X antal eksemplarer - Jeg skal med en popup-boks kunne angive antal kopier.

- DOkumentet skal herefter gemmes. Jeg skal jer bruge en boks der gemmer filen i standard rodbibliotetket c:\xxx\, men jeg skal kunne angive et underbibliotek i xxx. Dette skal jeg kunne angive i en popupboks - nogle gange er biblioteket allerede oprettet, andre gange ikke.

- Dernæst skal jeg kunne navngive filen i endnu en popupboks.

- Den flettede fil lukkes og jeg vender tilbage til hoveddoc. der er flettet med excel regnearket.


Er det noget nogle kan finde ud af???


/Jedi
02. marts 2005 - 15:55 #1
Denne linie er lidt modstridende:
- Den flettede fil lukkes og jeg vender tilbage til hoveddoc. der er flettet med excel regnearket.

Det er den flettede fil, der er flettet med datakilden, ikke hoveddokumentet.
Avatar billede jedimaster Nybegynder
02. marts 2005 - 16:02 #2
All right. Men det den flettede fil der skal lukkes - Herefter vender jeg vel automatisk tilbage til det dokument som er flettet sammen med excelregnearket. Således at kan jeg bruge macroen igen.
Avatar billede rvm Nybegynder
03. marts 2005 - 10:51 #3
Prøv denne:

Sub mailm()
Dim intAntalKopier As Integer
Dim bolFejl As Boolean
Dim dlgAbout As Integer
Dim strHoveddokument As String
Dim strGammeSti As String


'Viser dialogboksen, hvor der kan vælges modtagere
dlgAbout = Dialogs(wdDialogMailMergeRecipients).Display

strHoveddokument = ActiveDocument.Name

'En løkke der sikrer at det er et tal der tastes
Do
    On Error Resume Next
    intAntalKopier = InputBox("Indtast antal kopier")
   
    If Err Then
        bolFejl = True
        On Error GoTo 0
        Else
        bolFejl = False
    End If
Loop Until bolFejl = False
   
'Fletter modtageren
With ActiveDocument.MailMerge
    .Destination = wdSendToNewDocument
    .SuppressBlankLines = True
    With .DataSource
        .FirstRecord = wdDefaultFirstRecord
        .LastRecord = wdDefaultLastRecord
    End With
    .Execute Pause:=False
End With

'Printer det rigtige antal kopier
ActiveDocument.PrintOut Copies:=intAntalKopier

'Ændrer stien til default gem
strGammeSti = Options.DefaultFilePath(wdDocumentsPath)
Options.DefaultFilePath(Path:=wdDocumentsPath) = "C:\"

'Viser dialogboksen "Gem som"
dlgAbout = Dialogs(wdDialogFileSaveAs).Show

'Lukker det flettede dokument
ActiveDocument.Close False

'Sætter den stien tilbage igen
Options.DefaultFilePath(Path:=wdDocumentsPath) = strGammeSti

'Aktiverer hoveddokumentet
Documents(strHoveddokument).Activate
   
End Sub
Avatar billede rvm Nybegynder
03. marts 2005 - 10:52 #4
Den virker sikkert kun fra Office XP og frem, da mailmerge objektet er ændret
Avatar billede jedimaster Nybegynder
03. marts 2005 - 13:36 #5
hey - jeg har office2000. Gør det noget??
Avatar billede rvm Nybegynder
03. marts 2005 - 13:52 #6
Prøv :-)
Avatar billede jedimaster Nybegynder
04. marts 2005 - 10:11 #7
dlgAbout = Dialogs(wdDialogMailMergeRecipients).Display

Denne linie vil den ikke godtage.
Avatar billede rvm Nybegynder
04. marts 2005 - 12:33 #8
Du bliver nød til at have Word XP for at kunne vælge modtagere via brevflet
Avatar billede rvm Nybegynder
04. marts 2005 - 12:35 #9
Ellers skal der ikke brevflettes, men designes en dialogboks, der henter alle rækkerne fra Excel, hvor man så kan vælge en post og denne post sættes så ind i Word.
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
Tag et kursus i Word og øg effektiviteten

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