• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Vb

Status
Niet open voor verdere reacties.

phille125

Gebruiker
Lid geworden
3 aug 2009
Berichten
57
ik heb een facturatie programma geschreven (enkele jaren terug) en dit werkt nog altijd perfect voor 2 bedrijfjes (onder het zelfde dak).

nu heb ik voor deze 2 bedrijfjes een klein NAS geïnstalleerd om makkelijker te werken.
(1pc werkt op vista en ander op XP) ook heb ik het facturatie programma op deze NAS gezet. Bij de XP pc werkt alles perfect, maar bij de VISTA PC niet.
als ik vraag om mijn bestand af te drukken, vind hij mijn bestand niet. aan wat zou dit kunnen liggen?
het 1ste stuk werkt. hij blokkeert bij
Code:
Workbooks.Open Filename:=pbestand ' lees faktuur
.

het programma werkt met pup-ups waar je kan zeggen wat je wil doen (factureren, offerte maken, printen, ....) als je op printen drukt gaat hij in het tabblad checkpoint kijken of er facturen/creditnota's moeten geprint worden.
Code:
Sub printfakturen()
makeform.Hide
ppath = hddir & "fakturen\"
Workbooks(gegevensxls).Sheets("Checkpoint").Select
' nogiets in de printqueue
checkqueue:
nqprint = Cells(20, 4) '  in queue
If nqprint > 0 Then  ' nog iets in queue
    ncopies = Range("E20")
    MsgBox nqprint & " fakturen van  " & Cells(20, 3) & " t/m " & Cells(20 + nqprint - 1, 3) & _
     " reeds " & ncopies & " maal geprint"
    'nog een reeks uitprinten ?
   Msg = "Nogmaals reeks uitprinten   ? "    ' Define message.
   Style = vbYesNo     ' Define buttons.
   Title = "Nogmaals uitprinten  ?"    ' Define title.
   response = MsgBox(Msg, Style, Title)
   If response = vbYes Then GoTo printstart        ' nogmaals
   If response = vbNo Then
      MsgBox "Wachtrij wordt leeggemaakt"
         ' clear checkpoint and save
      Range("C20:D100").ClearContents
      Range("D20") = 0  ' reset aantal fakturen
      Range("E20") = 0  ' print count
      Workbooks(gegevensxls).Save
      Sheets("blank").Select
      makeform.Show
      Exit Sub
    End If
Else  '  niks in queue , copy naar queue
 ' check  aantal
    nprint = Range("B20")
  If nprint = 0 Then
    MsgBox "Er zijn geen fakturen te printen"
    GoTo eoprint
   Else   'copieer naar print queue en clear
    Range("A20:B120").Copy Destination:=Range("C20")
    Range("A20:A120").ClearContents
    Range("B20") = 0
    Range("E20") = 0 ' copiecount
    GoTo checkqueue ' probeer met nieuwe queue
  End If
End If
' print  1 x batch van de fakturen in queue
'  ----------------
printstart:
  Range("E20") = Range("E20") + 1 'copiecount
For I = 20 To 120
  Workbooks(2).Sheets("Checkpoint").Select
  If Cells(I, 3) = "" Or Cells(I, 3) = " " Then GoTo eoprint 'laatste faktuur
  bnaam = Cells(I, 3)
  pbestand = ppath & bnaam
  Workbooks.Open Filename:=pbestand ' lees faktuur
  Workbooks(3).Sheets(1).Activate
  If ppreview = True Then
     Sheets(1).PrintPreview   'preview
  Else  'echt printen
     Sheets(1).PrintOut copies:=1, Collate:=True  'print
  End If
  Workbooks(3).Close savechanges:=False 'close faktuur
Next I  ' volgende faktuur
' afsluiten, save checkpoint
eoprint:
 Workbooks(gegevensxls).Save
 Sheets("blank").Select
 makeform.Show
End Sub
 
Je zou gebruik kunnen maken van Dir om te bepalen of het bestand wel gevonden kan worden.
Anders zou je de extensie toe kunnen voegen.
Verder is het aan te raden om variabelen te benoemen.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan