02. oktober 2007 - 09:34Der er
8 kommentarer og 1 løsning
LOOP i denne makro
Hej jeg sidder her med en makros som ser ud som følger
Sub AutoNew()
Dim FakturaNr As Integer
Selection.TypeBackspace Selection.TypeBackspace
'Henter fakturanummeret fra en textfil (nummeret står på først linie) Open "c:\Fakturanummer.txt" For Input As #1 Input #1, FakturaNr Close #1
'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select End If
'Tæller op til næste faktura FakturaNr = FakturaNr + 1
'Gemmer det nye fakturanumer i textfilen Open "c:\Fakturanummer.txt" For Output Access Write As #1 Write #1, FakturaNr Close #1 If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select Selection.TypeText FakturaNr ' Den nye kode End If 'printer Siden Ud Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _ ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _ False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 End Sub
Den vil jeg gerne have lavet en Loop i ¨så dan kører FX 50 Print ud inden man skal starte makroen igen
nogen der har et forslag til hvordan jeg kan gøre dette?
'Henter fakturanummeret fra en textfil (nummeret står på først linie) Open "c:\Fakturanummer.txt" For Input As #1 Input #1, FakturaNr Close #1
'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select End If
'Tæller op til næste faktura FakturaNr = FakturaNr + 1
'Gemmer det nye fakturanumer i textfilen Open "c:\Fakturanummer.txt" For Output Access Write As #1 Write #1, FakturaNr Close #1
If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select Selection.TypeText FakturaNr ' Den nye kode End If
'printer Siden Ud For printNr = 1 To 50 Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _ ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _ False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 Next End Sub
Pas på med bogmærket. Når I selecter og indsætter tekst på den måde, sletter I samtidig bogmærket. Det er nødvendigt at sætte et range, der omfatter bogmærkets range, derefter indsættes teksten (ranget bliver dermed udvidet) og så skal I sætte bogmærket omkring ranget igen.
jeg har selv fundet noget af svaret ved at skrive som følger
Sub AutoNew() Do Dim FakturaNr As Integer
Selection.TypeBackspace Selection.TypeBackspace
'Henter fakturanummeret fra en textfil (nummeret står på først linie) Open "c:\Fakturanummer.txt" For Input As #1 Input #1, FakturaNr Close #1
'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select End If
'Tæller op til næste faktura FakturaNr = FakturaNr + 1
'Gemmer det nye fakturanumer i textfilen Open "c:\Fakturanummer.txt" For Output Access Write As #1 Write #1, FakturaNr Close #1 If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select Selection.TypeText FakturaNr ' Den nye kode End If 'printer Siden Ud Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _ ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _ False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 Loop End Sub
men skal nu have en timer ind så den ikke bare står og printer 5000 ud på en gang før man kan nå at lukke Word
har selv fundet det hele men tak for hjælpen alle sammen det kommer til at se sådan her ud:
Sub AutoNew()
Do
Dim FakturaNr As Integer
'sletter det gamle tal Selection.TypeBackspace
'Henter fakturanummeret fra en textfil (nummeret står på først linie) Open "c:\Fakturanummer.txt" For Input As #1 Input #1, FakturaNr Close #1
'Indsætter fakturanummeret ved bogmærket "Fakturanummer" i dokumentet If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select End If
'Tæller op til næste faktura FakturaNr = FakturaNr + 1
'Gemmer det nye fakturanumer i textfilen Open "c:\Fakturanummer.txt" For Output Access Write As #1 Write #1, FakturaNr Close #1 If ActiveDocument.Bookmarks.Exists("Fakturanummer") = True Then ActiveDocument.Bookmarks("Fakturanummer").Select Selection.TypeText FakturaNr ' Den nye kode End If
Loop Until FakturaNr > 9
End Sub
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.