[access] bestand openen shell?

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

  • pea992
  • Registratie: November 2000
  • Laatst online: 02-02-2023
Na een zoektocht op GoT en google, heb ik nog net niet de juiste oplossing voor mijn probleem gevonden: vanuit een module wil ik in VBA (duh) een specifiek bestand elders op het netwerk kunnen openen als een soort snelkoppeling dus(via een macro "procedureuitvoeren" vanuit een menu-item in mijn geval). Doordat het netwerkpad en de filename natuurlijk bestaat uit namen met spaties (grrr, maar ja de goeie ouwe 8.3 dos tijd is nou eenmaal voorbij), levert dit een extra probleem op.
Tot nu toe heb ik gespeeld met dit soort codes, maar het lukt steeds net niet:
code:
1
2
3
4
5
6
7
8
Function openascii()
Dim sPath As String
Dim sDataPath As String

sDataPath = "specia~1.xls"
sPath = "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " & sDataPath
Shell sPath, vbMaximizedFocus
End Function

waarbij ik sDataPath ook volledig heb uitgeschreven (maar daar zeurt-ie dus over spaties bij het opzoeken van de file, ook m.b.v. space$(), of chr(160) of (32).

Het is dus niet de bedoeling dat het externe bestand geimporteerd wordt in access, maar dat het extern wordt geopend in zijn eigen programma, zoals geregistreerd is in windows.

Kan iemand mij aan een oplossing helpen?

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Probeer eens dubbele aanhalingstekens _in_ je string te zetten. Windows houdt niet van spaties in je pad als je geen aanhalingstekens gebruikt. Dat kan je doen door dubbele aanhalingstekens te gebruiken:

De string "foo" (inclusief aanhalingstekens dus) kan je in een variabele stoppen met: """foo""". Binnen een string worden twee aanhalingstekens achter elkaar geïnterpretteerd als een letterlijk aanhalingstekens in plaats van een delimiter voor je string.

Die moeten dus zowel om je pad naar je applicatie als om het pad naar je bestand heen!

[ Voor 6% gewijzigd door ATS op 23-09-2003 16:58 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Verwijderd

of gewoon chr(34)

dus sPath = chr(34) & "C:\blalala" & chr(34)

wat je ook kan doen is gewoon een snelkoppeling maken naar het xls bestand, dan wordt ie alst goed is automagisch geopend met Excel

  • pea992
  • Registratie: November 2000
  • Laatst online: 02-02-2023
snelkoppeling zal ik 's proberen, met char(34) en extra "" krijg ik compileerfoutmeldingen helaas, die had ik al geprobeerd...

  • Carpenter
  • Registratie: December 2002
  • Laatst online: 00:46
gebruik anders es de dos namen, bijv. c:\progra~1\ etc

  • Bu588
  • Registratie: Maart 2000
  • Laatst online: 22-12-2025
Je kunt ook met ' werken in je string, in plaats van met dubbele aanhalingstekens. Binnen Access werkt dit in ieder geval prima om 'strings in een string' aan te geven.

Nothing is fool-proof to a sufficiently talented fool...


  • pea992
  • Registratie: November 2000
  • Laatst online: 02-02-2023
ATS thx! na nog 's goed lezen wat je zei met dubbele aanhalingstekens, werkt het inderdaad vlekkeloos! Weer een brandje geblusd!

  • GigaDave56
  • Registratie: Juni 2001
  • Laatst online: 14-12-2025
Er is ook een API call voor dit probleem, nml: ShellExecute

Not so Giga One
> I'd sell my soul for you, babe
> For money to burn, for you
> I'd give you all and have none, babe
> Just to, just to, to have you here by me... [Scooter - Rebel yell]


Verwijderd

snelkoppeling zal ik 's proberen, met char(34) en extra "" krijg ik compileerfoutmeldingen helaas, die had ik al geprobeerd...
ja en char(34) werkt niet maar chr(34) wel ... 100% :O

[ Voor 58% gewijzigd door Verwijderd op 24-09-2003 12:53 ]

Pagina: 1