Toon posts:

[VBScript] Issue bij opslaan van Excel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wanneer ik mijn dmv vbscript gegenereerde Excel file wil opslaan krijg ik bij deze manier geen fouten

VBScript:
1
2
3
4
5
strExportExcelPath = "c:\DiskReport.xls"
...
objExportExcel.ActiveWorkbook.SaveAs strExportExcelPath
objExportExcel.Save
objExportExcel.Quit


Wanneer ik het op deze manier doe

VBScript:
1
2
3
4
5
strExportExcelPath = "c:\DiskReport" & FormatDateTime(Now,0) & " .xls"[s][/s]
...
objExportExcel.ActiveWorkbook.SaveAs strExportExcelPath
objExportExcel.Save
objExportExcel.Quit


Dan vraagt hij op het einde altijd 'Wilt u de wijzigingen in Map1 opslaan?"

strExportExcelPath is nochtans een string datatype dus hij zou dat normaal moeten saven net als op dezelde manier als wanneer het pad hard gecodeerd staat dacht ik zo?

[ Voor 3% gewijzigd door Verwijderd op 12-02-2010 14:37 . Reden: code tags gewijzigd ]


Acties:
  • 0 Henk 'm!

  • Black Hawk
  • Registratie: Oktober 2003
  • Laatst online: 08-01 21:48
-knip-

post ongeldig omdat TS niet PHP maar VBscript bedoelde...

[ Voor 95% gewijzigd door Black Hawk op 12-02-2010 14:45 ]

Wie nooit tijd heeft, kan er niet mee omgaan.


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 21-09 18:54
VBScript != PHP :?

Ik hallucineer, mijn excuses. Deze reply kun je dus denk ik vergeten :)

[ Voor 67% gewijzigd door RedHat op 12-02-2010 14:34 ]


Acties:
  • 0 Henk 'm!

  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Ik ken niets van PHP, maar om dit op te lossen in VBSCRIPT moet je voor je Quit functie de Property DisplayAlerst op False zetten.

Visual Basic .NET:
1
2
objExcel.DisplayAlerts = False
objExcel.Quit

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


Acties:
  • 0 Henk 'm!

  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 11:32
mbsaerens schreef op vrijdag 12 februari 2010 @ 14:37:
Ik ken niets van PHP, maar om dit op te lossen in VBSCRIPT moet je voor je Quit functie de Property DisplayAlerst op False zetten.

Visual Basic .NET:
1
2
objExcel.DisplayAlerts = False
objExcel.Quit
Inderdaad, zie ook How to suppress "Save Changes" prompt when you close a workbook in Excel

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb de tags gewijzigd, had me vergist :/
mbsaerens schreef op vrijdag 12 februari 2010 @ 14:37:
Ik ken niets van PHP, maar om dit op te lossen in VBSCRIPT moet je voor je Quit functie de Property DisplayAlerst op False zetten.

Visual Basic .NET:
1
2
objExcel.DisplayAlerts = False
objExcel.Quit
Dit haalt niets uit, ik vraag me echt af waar die fout zit en waarom hij het op de andere manier wel wil opslaan.

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Check eens wat de waarde is van strExportExcelPath voordat je opslaat? Met een MsgBox ofzo.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 11:32
Snake schreef op vrijdag 12 februari 2010 @ 14:47:
Check eens wat de waarde is van strExportExcelPath voordat je opslaat? Met een MsgBox ofzo.
Dat werkt hier ook gewoon, tenminste als ik de tags hieronder weghaal.
Waarom staat er [s][/s] in je code? typefout met quoten?

[ Voor 65% gewijzigd door mhoogendam op 12-02-2010 14:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Waarde van die variabele klopt, de messagebox geeft de waarde terug die ik als bestandsnaam wil gebruiken, en dat ene betrefte inderdaad een typfout

VBScript:
1
2
3
4
5
6
7
objExportExcel.ActiveWorkbook.SaveAs strExportExcelPath
objExportExcel.ActiveWorkbook.Saved = True
objExportExcel.Application.DisplayAlerts = False
objExportExcel.ActiveWorkbook.Close
objExportExcel.Application.DisplayAlerts = True
objExportExcel.Save
objExportExcel.Application.Quit


Nu geeft hij die melding niet meer maar slaat hij het gewoonweg niet op ook.


EDIT: ik heb de fout gevonden, het karakter '/' kan je niet gebruiken in een bestandsnaam, moet dus enkel een ander formaat gebruiken

[ Voor 11% gewijzigd door Verwijderd op 12-02-2010 14:56 ]


Acties:
  • 0 Henk 'm!

  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 11:32
Waarschijnlijk vind hij je tijd notering niet zo leuk. het viel me eerder niet op maar een : mag niet in je bestandsnaam zitten

VBScript:
1
strExportExcelPath = "c:\DiskReport" & Date & " .xls"


Zal gewoon werken en de file opslaan met de datum van vandaag.
VBScript:
1
2
objExcel.DisplayAlerts = False
objExcel.Quit
heb ik trouwens niet nodig gehad.

Wil je perse de tijd erin hebben?

[ Voor 14% gewijzigd door mhoogendam op 12-02-2010 15:01 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
VBScript:
1
2
3
4
5
6
7
8
9
10
strDateTime = replace(FormatDateTime(Now,0), "/", "-")
strDateTime = replace(strDateTime, ":", ".")
strExportExcelPath = "c:\DiskReport " & strDateTime & ".xls"

...

objExportExcel.ActiveWorkbook.SaveAs strExportExcelPath
objExportExcel.ActiveWorkbook.Close
objExportExcel.Save
objExportExcel.Application.Quit


Nog steeds vraagt hij of ik het wil opslaan onder een andere naam, nochtans zijn alle ongeldige tekens uit de bestandsnaam verwijderd.

EDIT: Na tweede keer uitvoeren werkt het blijkbaar, kan me wel voor het hoofd slaan dat ik met zo iets banaals geen rekening gehouden had. Het lag doodsimpel aan die tekens.

[ Voor 16% gewijzigd door Verwijderd op 12-02-2010 15:10 ]


Acties:
  • 0 Henk 'm!

  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 11:32
Bij mij gaf Excel een melding om "resume.xlw" op te slaan.
Doormiddel van de "objExportExcel.DisplayAlerts = False" word deze melding niet meer weergegeven.
VBScript:
1
2
3
4
5
6
7
8
strDateTime = replace(FormatDateTime(Now,0), "/", "-")
strDateTime = replace(FormatDateTime(Now,0), ":", ".")
strExportExcelPath = "c:\DiskReport " & strDateTime & ".xls" 

objExportExcel.DisplayAlerts = False 
objExportExcel.ActiveWorkbook.SaveAs strExportExcelPath
objExportExcel.Save
objExportExcel.Quit

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
mhoogendam schreef op vrijdag 12 februari 2010 @ 15:13:
VBScript:
1
2
strDateTime = replace(FormatDateTime(Now,0), "/", "-")
strDateTime = replace(FormatDateTime(Now,0), ":", ".")
Euh, da's nogal nutteloos he? ;)
Je bedoelt:
VBScript:
1
2
strDateTime = replace(FormatDateTime(Now,0), "/", "-")
strDateTime = replace(strDateTime, ":", ".")


@devilex: Debuggen: Hoe doe ik dat?

[ Voor 32% gewijzigd door RobIII op 12-02-2010 15:25 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mhoogendam schreef op vrijdag 12 februari 2010 @ 15:13:
Bij mij gaf Excel een melding om "resume.xlw" op te slaan.
Kreeg ik ook soms, vraag me wel af wat dit betekent.

Acties:
  • 0 Henk 'm!

  • mhoogendam
  • Registratie: Oktober 2002
  • Laatst online: 11:32
RobIII schreef op vrijdag 12 februari 2010 @ 15:24:
[...]

Euh, da's nogal nutteloos he? ;)
Je bedoelt:
VBScript:
1
2
strDateTime = replace(FormatDateTime(Now,0), "/", "-")
strDateTime = replace(strDateTime, ":", ".")


@devilex: Debuggen: Hoe doe ik dat?
Ik zie inderdaad nu dat het nogal nutteloos is, devilex had blijkbaar zijn code aangepast in zijn edit :)
Ik had dan ook al geen last van de slashes in de datum notatie.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wanneer ik het excel bestand achteraf eens open en terug wil sluiten vraagt hij alweer of ik de wijzigingen in Map3 wil opslaan.

Was daarnet inderdaad ietsje te snel met die replace

[ Voor 3% gewijzigd door Verwijderd op 12-02-2010 15:49 ]

Pagina: 1