Newsgroup: it.comp.appl.access
Titolo: modificare il nome del file da VBA

Ciao NG,
non c'è verso che io riesca utilizzando Jaws PDF Creator (vorrei mantenere
questo softrware perchèmi ci trovo bene)a creare un report in formato pdf
cambiandogli il nome
ho provato con chiavi di registro così:
SaveSetting "ReportPDF", "Jaws PDF Creator", "chiave", "c:\documents and
settings\.....\desktop\provapdf.pdf"
la chiave la crea ma poi come inviare il nuovo nome del file alla stampante
virtuale ?
Allora ho pensato che siccome non ci riesco di cambiare il nome del file pdf
una volta che è stato creato.
Ma non so se si possa fare perchè il nome in questione dovrebbe essere
provapdf con attaccata la data odierna +1 cioè
provapdf171104.pdf.
cosa ne dite ?
inoltre vorrei memorizzare i nomi dei files pdf creati in una tabella e
richiamarli in una casella combinata in una maschera per poi aprirli
all'occorrenza ?
si può fare ?
Spero di non avervi posto una domanda alla stregua di questa :
Ragazzi esiste il compilatore di access ??
Nell'attesa dell'ipotetico cazziatone vi saluto.

 ha scritto nel
messaggio news:cndknn$bv7$1...@lacerta.tiscalinet.it...

Mi pare strano che coon un'ocx del genere non si possa impostare
il Nome del file direttamente, ma non ho modo di testarlo.
Per fare quanto chiedi:
Dim strNome as string
strNome="Prova" & Format(Now()+1, "ddmmyy") & ".pdf"
Quindi usa la funzione Name
Name vecchionomepercorso As strNome
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 > all'occorrenza ?
E poi anche a questo in merito all'inquietante mail che trovo qui sopra
 ma la tua attività di "consulente" a quelli come me che hanno difficoltà
non appena si tratta
di fare un qualcosa di diverso dall'impostare una relazione ... continuerai
a portarla avanti o no ?
Cioè ti troveremo ancora in ng come questo ?
Ciao e grazie.

 Ciao e grazie.
Non ho detto che sparisco, solo che appoggio il SC in modo più costruttivo.
Ciao.


 La funzione la chiami passando la Cartella nella quale ci sono i Files.
Allora io ho fatto così :  creato un modulo nuovo dove ho messo al posto di
Private Sub FillCombo(strPath)
 Function FillCombo(strnome)
questo Dim fil l'ho riscritto così
            Dim fil As file
e poi sulla combox della maschera su evento
click questo
fillcombo("C:\documents and settings\sandro.SANDRO-RNGFNRHJ\desktop\pdf"
indicando il percorso dei files . E probilmente è il primo sbaglio.
il secondo credo di averlo fatto inserendo questo :
Private Sub filepath_AfterUpdate()
    Dim RetVal
    RetVal = Shell("C:\documents and
settings\sandro.SANDRO-RNGFNRHJ\desktop\" & Me.filepath, 1)
End Sub
nell'evento dopo aggiornamento della combox.
la casella combinata non visualizza alcun file, mi dice impossibile trovare
il file
mi segna in rosso questo :
.Files Me.filepath.AddItem fil.Path & ";" &
Mid(
fil.name
,1,InStr(
file.name
,".") - 1)
ciao, grazie.

 ciao, grazie.
C'č un errore nella prima parte ".Files" non c'entra nulla.
Se usi A97 non esiste il metodo Additem pertanto modificalo cosě:
Me.filepath.rowsource=me.filepath.RowSource & fil.Path & ";" &
     Mid(
fil.name
,1,InStr(
file.name
,".") - 1)
Ciao


   Dimenticavo per lanciare il File usa questa funzione
   č decisamente piů versatile.
   Dim WshShell As Object
   Set WshShell = CreateObject("WScript.Shell")
   WshShell.Run "C:\Documenti\pdf\Nomefile.pdf"
   Set WshShell = Nothing



                                        no uso a2k, ho provato lo stesso a
                                        mettere cosě e l'errore, la riga non
č piů rossa.
Ho seguito anche il post successivo a questo, mi da questo errore
metodo run dell'oggetto IWshShell2 non riuscito,   -->forse perchč la combox
continua ad essere vuota ?
l'ho scritta cosě
WshShell.Run "C:\documents and settings\sandro.SANDRO-RNGFNRHJ\desktop\PATH"
& Me.filepath
su questa finesta di errore cliccando fine mi compare un messaggio
("C:\documents and settings\sandro la macro o il relativo gruppo non esiste
piů oppure č
nuova e non č stata ancora salvata. quando si immette la sintassi
nomegruppomacro.nomemacro in un argomento č necessario specificare l'ultimo
nome con il quale č stato salvato il gruppo della macro
questo č quello chč č presente nell'evento dopo aggiornamento della combox
fillcombo("C:\documents and settings\sandro.SANDRO-RNGFNRHJ\desktop\pdf\"
Ciao.

 Ciao.
Finchè non capisci il motivo della non funzionalità della
parte del codice per Riempire la Combo non andrà nulla in ogni caso.
Il codice che ti ho postato lo uso abitualmente e funziona, pertanto
ci deve essere qualche errore di scrittura nel passaggio parametri
oppure la Cartella è VUOTA realmente....!!!
In questo caso io non abilito la Combo.
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 In questo caso io non abilito la Combo.
ho controllato anche il path e la cartella : sono corretti e i contiene i
file che mi interessano.
non ti arrabbiare, ciao.

 o forse sono io che non capisco ?
Allora, impara ad usare il DEBUG.Print per far stampare nella finestra
immediata(CTRL+G)
il risultato del Ciclo.
In ogni caso :
'//    ANALIZIAMO QUESTA
Me.filepath.AddItem fil.Path & ";" & Mid(file.Name, 1, InStr(fil.Name,".") -
1)
1)Me.filepath.AddItem
    Questo è il Metodo per aggiungere una Riga alla Combo, ricorda che
    per come è formattata la Combo(2 Colonne) occorre passargli 2 Parametri
    che devono essere separati dal carattere ";"
2)file.Path è il percorso completo del File Puntato dal Ciclo, viene messo
nella prima Colonna
    della Combo, ma essendo a lunghezza ZERO non si vede, ma lo usiamo per
sapere il percorso
    completo del File da passare alla Shell(in un secodo tempo)
3)";" & Mid(fil.Name, 1, InStr(fil.Name,".") - 1)
    Il Carattere ";" è il separatore di COLONNA per la COMBO, ed essedo
Stringa
    occorre che ci siano i Concatenatori di stringa "&".
    Mid(fil.Name, 1, InStr(fil.Name,".") - 1)
    Questa Funzione prende la proprietà Name dell'oggetto File assegnato
alla Variabile Fil
    Non fà altro che Spezzare il Nome del File eliminando l'Estensione
    che non serve, o meglio a livello estetico a me non piace, tanto sono
tutti PDF.
TUTTO CIO' DEVE FUNZIONARE, se non funziona devi accendere una candela in
chiesa.    ;-)
Poi affrontiamo l'apertura del File quando hai accertato il funzionamento di
questo.


 '//    Proprietà "Larghezza Colonne = " 0cm;4cm
                ****** si ok fatto, come da tuo primo post
FillCombo("C:\Documents and Settings\sandro.SANDRO-RNGFNRHJ\Desktop\PDF\")
ho modificato anche questo perchè trattini, punti piacciono poco ad access
'=FillCombo("C:\Documents and Settings\sandro\Desktop\PDF\")
ho provato, provato,  provato, provato, provato ma non ci riesco proprio.
Ho provato anche ad analizzare questo fatto da Roberto per l'impostazione
della stampante predefinita
s = Mid$(Stampanti, Pos1, InStr(Pos1, Stampanti, vbNullChar) - Pos1)
    s = SostCar(s, "=", ",")
    Me!Combo.RowSource = IIf(Me!Combo.RowSource = "", s, Me!Combo.RowSource
& ";" & s)
    Pos1 = Pos1 + Len(s) + 1
ma per me è un po' troppo difficile da modificare, che però anche a me
funziona nella demo proposta da Roberto per l'impostazione stampante
predefinita.
ho provato anche con il debug.print e nella finestra immediata non
visualizza nulla.
ho provato anche ad eliminare la parte che elimina il punto e l'estensione,
ma non popola nemmeno il file con lì'estensione.
ho provato a modificare secondo la mia logica (!) l'struzione
Me.filepath.RowSource = Me.filepath.RowSource & nomefile.Path & ";" &
Mid(nomefile.Name, 1, InStr(nomefile.Name, ".") - 1)
ho provato, provato,provato,provato,provato .....
Ti ringrazio per tutte le spiegazioni che mi hai dato, ma nonostante io sia
un combattente, questa battaglia la considero per il momento persa.
E' per le mie competenze evidentemente troppo difficile ! soprattutto perchè
sto rischiando di sclerare !
Ti saluto e ci sentiamo presto per altri miei problemi.
Ciao, Sandro.

 Ciao, Sandro.
Secondo me è una sciocchezza che come tale ti
fà impazzire......!
Beh peccato....!
Alla prossima.
