Newsgroup: it.comp.appl.access
Titolo: Apertura di un file di powerpoint con nomi di file separati da spazi

Salve uso A97, il mio problema è il seguente:
Ho registrato in un campo di una tabella il percorso ed il nome di un file
di Powerpoint, nel caso specifico il file si chiama "Corso Internet.ppt". Vi
riporto la routine che ho utilizzato, premetto che l'ho sempre usata alla
stessa maniera sia per Word che per Excel naturalmente aggiungendo i
riferimenti appropriati.
_________________
Dim OApp As Object
Dim MsPower As PowerPoint.Presentations
Set OApp = CreateObject("Powerpoint.Application")
Set MsPower = OApp.Open (Percorsodoc)
OApp.Visible = True
Set OApp = Nothing
Set MsPower = Nothing
_________________
Il risultato è un errore in inglese che adesso non ricordo nemmeno che mi fa
bloccare l'esecuzione solo sul metodo Open.
Ho provato come consiglia Access tramite creazione guidata, ad usare il
comando Shell impostando il percorso a mano.
_________________
Dim stAppName As String
stAppName = "C:\Programmi\Microsoft Office\Office\POWERPNT.EXE
C:\Documenti\Corso Internet.ppt"
Call Shell(stAppName, 1)
_________________
ma non ne vuole sapere di aprire questo file, del resto togliendo pezzi sono
riuscito a far partire Powerpoint e ad aprire file che hanno il nome INTERO
e non come nel mio caso separato da spazi, praticamente assurdo.
Confido in un vostro aiuto risolutore
Grazie 1000
Ciao Andrea

 ha scritto nel messaggio
news:HIgM6.592$8P3....@news1.tin.it...

Ho trovato questo articolo
(
http://support.microsoft.com/support/kb/articles/Q265/3/85.ASP?LN=EN-US&SD=
gn&FR=0&qry=Presentations&rnk=3&src=DHCS_MSPSS_gn_SRCH&SPR=ACC) che spiega
come utilizzare il viewer di powerpoint invece del powerpoint stesso.
Ho provato anch'io a visualizzare un file .ppt con powerpoint e alla prima
esecuzione avvisa che mancano i riferimenti a una libreria (non indica
quale) e se voglio aggiungerli; rispondendo in modo affermativo i
riferimenti vengono inseriti ma si presenta un errore di "Presentations
(unknown member)" sulla riga dove viene aperto il file.
La libreria che mancava è la "Microsoft Office 8.0 Object Library" e
comunque io non sono riuscito a far visualizzare nulla se non il messaggio
di errore.
Con l'esempio presente nel link indicato, il viewer esegue il file ppt senza
una piega anche se il nome del file ha degli spazi.
Ciao.

 ha scritto nel messaggio
news:HIgM6.592$8P3....@news1.tin.it...

Devi convertire il percorso nel buon vecchio caro percorso dos:
C:\Documenti\Corso~.....
sia quando hai spazi che quando hai nomi lunghi
Esiste una API che lo fa per te: GetShortPathName
Luca

Tramite VB ho trovato l'Api che mi dicevi e l'ho incollata in un modulo di
Access, solo che ho dovuto dargli io il percorso abbreviato, ed inoltre la
Sub mi restituisce un numero il 25, che vuol dire?
Grazie
Ciao Andrea
_______________________
Public Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" _
(ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal
cchBuffer As Long) As Long
Public Sub lavora()
    Dim vai As Long
    vai = GetShortPathName("C:\documenti\prova power.ppt",
"C:\documenti\provap~1", 1)
End sub
_______________________

 ha scritto nel messaggio
news:0drM6.1318$8P3....@news1.tin.it...

Provate questa:
Private Stringa As String
Const LUNGHEZZA_MASSIMA_PERCORSO = 255
Private Declare Function GetShortPathName Lib "kernel32" Alias
"GetShortPathNameA" _
    (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal
cchBuffer As Long) As Long
Public Function NomeFileDos(szPercorso As String) As String
    Dim lLunghezza As Long
    NomeFileDos = String(LUNGHEZZA_MASSIMA_PERCORSO, vbNullChar)
    lLunghezza = GetShortPathName(szPercorso, NomeFileDos, Len(szPercorso))
    NomeFileDos = Left$(NomeFileDos, lLunghezza)
    If Asc(NomeFileDos) = 0 Then
        NomeFileDos = szPercorso
    End If
End Function
Luca