Middels VBA opslaan XLSM op eigen pc.

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
Middels VBA opslaan XLSM op eigen pc. Dan middels FTP verbinding op eigen site in XLS
Ik heb hiervoor de volgende code. (Het toegangs wachtwoord op de site heb ik niet in VBA kunnen maken.
Onderstaande code code werkt de eine keer uitstekend en de andere keer niet en dan steeds bij één van de drie opslag mogelijkheden.
Wellicht weet iemand of er meer in de code moet komen te staan.
De foutmelding is
Fout 1004 tijdens uitvoering
Methode SaveAs van object_Workbook is mislukt.
Bij voorbaat dank voor het meedenken.
Sytse:rolleyes:

Code:
' Eerst gewoon opslaan in de huidige map
    ActiveWorkbook.Save

'Dan opslaan op de site
    ActiveWorkbook.SaveAs Filename:= _
        "ftp://jbvlelystad.nl/domains/jbvlelystad.nl/public_html/uitslagen/2013/Bpoule4test.xlsm" _
        , FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
    
 'Opslaan in HTM op de site
ActiveWorkbook.SaveAs Filename:= _
        "ftp://jbvlelystad.nl/domains/jbvlelystad.nl/public_html/uitslagen/2013/Bpoule4test.htm" _
        , FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False

'en sluit de html
ActiveWorkbook.Close
 
Laatst bewerkt door een moderator:
Mogelijk krijg je een timeout op je saveas? Als in: de server reageert te traag op het ftp verzoek. In dat geval is er niet veel dat je kan doen. Als het een IO probleem is kun je proberen een "sleep" van een seconde tussen elke save te stoppen om excel wat meer tijd te geven de verschillende saves uit te voeren.
 
Bedankt voor je reactie.
Ga ik proberen.
Sytse
 
Sorry maar het "sleep"is onbekend bij VBA Excel.
 
Sleep moet je zelf even toevoegen met de volgende regel (buiten de sub! dus boven je eigen sub bijvoorbeeld):

Code:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 
Visual Basic is iets anders dan Visual Basic for Applications, VBA is programmeren binnen Office applicaties. Verplaatst naar juiste sectie.
 
Ook met de timer zeg maar een pause en opnieuw activeren blijft het bij de opslaan dezelfde foutmelding geven. De foutmelding is af en toe bij een andere opslaan melding.
Code:
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
ActiveWorkbook.Activate
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan