[.Net] Opslaan Excelbestand

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • YellowOnline
  • Registratie: Januari 2005
  • Laatst online: 28-03-2023

YellowOnline

BEATI PAVPERES SPIRITV

Topicstarter
Eigenlijk PoSh (m'n favoriete afkorting voor PowerShell ;)) maar onderliggend is het .Net Framework.

Het lijkt een heel simpel probleem te zijn en misschien is het door vermoeidheid dat ik het niet vind. Gegeven volgende regel (op het einde van een lang, lang script):

C#:
1
$Workbook.SaveAs("$OutputFile")


Dit werkt perfect, maar omwille van portabiliteit wil ik eigenlijk geen absoluut pad opgeven en het bestand gewoon opslaan in de map waar het script uitgevoerd wordt. Helaas: als ik niets invul, of "./", dan wordt het steeds opgeslaan in My Documents - waar die locatie ook is (bij mij thuis D:\My Documents, op het werk M:\My Documents, ...).

Ik kan wel een workaround bedenken: het script laten kijken in welke map hij uitgevoerd wordt en dit doorsturen naar $Output; maar liever kom ik te weten waarom dit gebeurt. Volgens Microsoft:
Filename

The name of the file to be saved. You can include a full path; if you do not, Microsoft Office Excel saves the file in the current folder.
Mja, "current folder". Vanuit het opzicht van Excel dan of zo en die staat default op My Documents. Of hoe moet ik dat zien? Tips, ervaringen e.d. zijn welgekomen.

Edit:
Eigenlijk kom ik met de probleemformulering tot de vaststelling het probleem al te begrijpen maar ik kan moeilijk mijn post weer intrekken :F Ik moet met andere woorden een manier vinden om Excel een andere current directory wijs te maken. Een probleem waar blijkbaar menigeen mee geconfronteerd is (oa.http://www.dailydoseofexcel.com/archives/2005/08/30/changing-the-current-directory/), maar dan kan ik evengoed mijn originele workaround doen die de facto op hetzelfde neerkomt.

Mijn hele post is overbodig eigenlijk. Sorry :(

*snip*

@Mitrilvich: Oeps, nog een reactie terwijl ik aan het editten was :) Ik was intussen tot dezelfde vaststelling gekomen, maar toch bedankt!

[ Voor 26% gewijzigd door Creepy op 08-11-2010 12:30 ]


Acties:
  • 0 Henk 'm!

  • Mitrilvich
  • Registratie: Juli 2004
  • Laatst online: 08-08 10:56
De currentfolder is de huidige map voor Excel en niet de huidige map van je script. Je zal denk ik zoiets als dit moeten gebruiken (dus absolute paden):
http://powershell.com/cs/...-current-script-path.aspx