02. marts 2005 - 15:51Der 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.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
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.
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
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.
Synes godt om
Ny brugerNybegynder
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.