[VBA]Excel sjabloon eigen directory

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

  • Cai
  • Registratie: December 2001
  • Laatst online: 16-07 11:02
Probleem
Wanneer ik een sjabloon in excel opstart, wordt er automatisch een macro toegevoegd. Nu wil ik dat in variabele "Locatie" het pad opgeslagen wordt waarin de sjabloon zich bevindt. Hoe kan ik dit aanpakken?

Geprobeerd
Gebruik te maken van de method GetParentFoldername uit het FileSystemObject. Toch krijg ik niet wat ik wil

  • Cai
  • Registratie: December 2001
  • Laatst online: 16-07 11:02
* Cai schopt hard omhoog

Probleem wat verder specificeren
Vanuit een macro dat automatisch opgeroepen wordt bij het opstarten van het excel sjabloon wil ik een gegenereerd tekst bestand importeren. Het aanroepen van het tekst bestand lukt me alleen om het harde pad in te voeren in de macro.
code:
1
 With ActiveSheet.QueryTables.Add(Connection:= "TEXT;Q:\map1\submap3\tekstfile.txt", Destination:= Range("A1"))


Het excel sjabloon bevindt zich in dezelfde map als het tekstfile, dus als ik in een variabele het pad van de excelsjabloon kan oproepen, heb ik automatisch het pad van de in te lezen tekst file.

Waarom???
Waarom wil ik dit, als iemand vanaf een werkplek het sjabloon wil openen/draaien, maar heeft zijn shares anders ingesteld gaat het mis.

  • whoami
  • Registratie: December 2000
  • Laatst online: 06:27
> OFF

https://fgheysels.github.io/


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Als je ThisWorkbook.FullName gebruikt, of ".\tekstfile.txt", wat gebeurt er dan?

Je moet niet dronken dat ik denken ben.
What seems to be the officer, problem?
Waar is de brand, meester?


Verwijderd

het is idd vrij logisch dat je een template aanmaakt. echter itt tot word, is het niet mogelijk het pad van het template waarop de nieuwe werkmap is gebaseerd, te achterhalen. bij excel wordt er vanuit gegaan dat deze allemaal uit het templatepath komen, wat hier duidelijk niet het geval is.
de enige oplossing is een gewone - alleen lezen - werkmap in dezelfde map als de te importeren tekstbestanden te plaatsen, en dan zal de thisworkbook.path correct functioneren.

  • Cai
  • Registratie: December 2001
  • Laatst online: 16-07 11:02
Ik roep het excel-sjabloon aan vanuit een .vbs script. Is het niet mogelijk om een variabele vanuit het script mee te geven aan het sjabloon en die in het sjabloon op te vangen?

Voorbeeld:
sjabloon.xlt "c:\map1\submap3"

Verwijderd

wat is de reden waarom het geheel vanuit een script wordt opgestart?
iig, het is idd mogelijk een (dummy)opstart parameter mee te geven aan excel die in excel (via vbs) uitgelezen kan worden.
mss beter is een dos variabele te zetten die je in excel inleest.
in vbs doe je:
shell("set XLTPATH=padnaarsharemap")
in excelvba kan deze uitgelezen worden met:
sharemap=vba.Interaction.Environ("XLTPATH")
Pagina: 1