Newsgroup: it.comp.appl.access
Titolo: [API] BrowserFolder...!

Chiedo cortesemente se avete una versione di quanto in oggetto
realizzato con le API che permetta di INDIRIZZARE(aprire) di DEFAULT
su di una Cartella predefinita.
Non l'ho trovato, nella fretta chiedo un supporto a voi, mentre cerco
ancora...!
Grazie.
@Alex.

 ha scritto nel messaggio
news:bnjmqf$9ch$1...@lacerta.tiscalinet.it...

Se vuoi qualcosa di più bello bello bello .....
(era in office97 Developer Edition) e funziona tranquillamente con AccessXp
full o runtime.
Per l'utilizzo
MiaDir=Office_SelectDir("Dir di partenza")
Ciao Giorgio
==================================
Option Compare Database
Option Explicit
Type WLIB_OFFICEGETFILENAMEINFO
    hwndOwner As Long
    szAppName As String * 255
    szDlgTitle As String * 255
    szOpenTitle As String * 255
    szFile As String * 4096
    szInitialDir As String * 255
    szFilter As String * 255
    nFilterIndex As Long
    lView As Long
    flags As Long
End Type
Declare Function MSAU_OfficeGetFileName Lib "msaccess.exe" Alias "#56" _
        (gfni As WLIB_OFFICEGETFILENAMEINFO, _
         ByVal fOpen As Integer) As Long
'
Function Office_SelectDir(ByVal Path As String) As String
On Error GoTo stp_SelectDir_Err
    Dim stDir As String
    stDir = Path
    stDir = stDir & Chr$(0) & Space$(255)
    Dim ofn As WLIB_OFFICEGETFILENAMEINFO
    ofn.hwndOwner = Application.hWndAccessApp
    ofn.szDlgTitle = "Seleziona una cartella"
    ofn.szOpenTitle = "Seleziona"
    ofn.flags = &H20
    ofn.szInitialDir = stDir
    If (wlib_OfficeGetFileName(ofn, True) = 0) Then
        stDir = RTrim$(ofn.szFile)
        Office_SelectDir = stDir
    End If
stp_SelectDir_Exit:
    Exit Function
stp_SelectDir_Err:
    'wlib_HandleError Err, Error$
    Resume stp_SelectDir_Exit
End Function
Function wlib_OfficeGetFileName(gfni As WLIB_OFFICEGETFILENAMEINFO, ByVal
fOpen As Integer) As Long
    Dim lRet As Long
    If (Len(Trim$(gfni.szAppName)) = 0) Then
    Else
        gfni.szAppName = RTrim(gfni.szAppName) & Chr$(0)
    End If
    gfni.szDlgTitle = RTrim(gfni.szDlgTitle) & Chr$(0)
    gfni.szOpenTitle = RTrim(gfni.szOpenTitle) & Chr$(0)
    gfni.szFile = RTrim$(gfni.szFile) & Chr$(0)
    gfni.szInitialDir = RTrim(gfni.szInitialDir) & Chr$(0)
    gfni.szFilter = RTrim(gfni.szFilter) & Chr$(0)
    SysCmd acSysCmdClearHelpTopic
    lRet = MSAU_OfficeGetFileName(gfni, fOpen)
    gfni.szAppName = RTrim(wlib_StFromSz(gfni.szAppName))
    gfni.szDlgTitle = RTrim(wlib_StFromSz(gfni.szDlgTitle))
    gfni.szOpenTitle = RTrim(wlib_StFromSz(gfni.szOpenTitle))
    gfni.szFile = RTrim$(wlib_StFromSz(gfni.szFile))
    gfni.szInitialDir = RTrim(wlib_StFromSz(gfni.szInitialDir))
    gfni.szFilter = RTrim$(wlib_StFromSz(gfni.szFilter))
    wlib_OfficeGetFileName = lRet
End Function
Function wlib_StFromSz(szTmp As String) As String
    Dim ich As Integer
    ich = InStr(1, szTmp, vbNullChar, vbBinaryCompare)
    If ich Then
        wlib_StFromSz = Left$(szTmp, ich - 1)
    Else
        wlib_StFromSz = szTmp
    End If
End Function
=================================

 Ciao Giorgio
[CUT]
Era proprio quello che cercavo, io continuavo a trovare l'esempio
con il CallBack appoggiato al SubClassing, ma graficamente non
mi va bene, oltre che essere estremamente più complesso....!!!
Grazie 1000.
@Alex.

"Giorgio Prx"
(cut)
Davvero interessante  ;-)

 full o runtime.
Potresti dirmi in quale "posizione" del CD?
Magari trovo qualcos'altro d'interessante  :-)
Ciao!

 ha scritto nel messaggio
news:Qeynb.72842$vO5.2...@twister1.libero.it...

Ciao Cane Randagio
con access 97 developer edition la creazione dei CD di installazione veniva
effettuata con un MDB (non mi ricordo come si chiamava) in cui il codice
sorgente era tranquillamente visibile e modificabile. Tra le tante declare
function riferite a msaccess.exe ho conservato quella suggerita a @Alex.
(Non essendo documentata non è detto che nelle prossime versioni venga
mantenuta la funzione #56 )
Ciao Giorgio.

 mantenuta la funzione #56 )
Quindi hai sbirciato a fondo il codice del generatore di Setup...
La particolarità della soluzione che suggerisci è l'equivalenza con
l'oggetto FileDialog di 'XP (che non funziona in modalità Runtime e richiede
la presenza della libreria office).
Hai trovato una soluzione simile per il selettore di file?
Ciao!


Ciao Cane Randagio
non ho mai provato perché mi trovo bene con GetOpenFileName della libreria
comdlg32.dll (specialmente quando bisogna selezionare più di un file alla
volta)  ma se hai notato quando si preparata la struttura
WLIB_OFFICEGETFILENAMEINFO viene passato il flag BIF_RETURNONLYFSDIRS che da
come si chiama si capisce che indica la selezione di sole cartelle. Penso
che trovando il flag giusto si possa anche selezionare un file.
sbirciando si può anche imparare :)
Ciao Giorgio

 ha scritto nel messaggio
news:bnmn9t$a7t$1...@lacerta.tiscalinet.it...

Com'è il discorso della Selezione Multipla dei Files...??
Uso anch'io la dll citata, ODIO gli OCX...., ma non conoscevo
la possibilità della selezione estesa..., cosa ritorna in quel caso
e da dove soprattutto la vartype OPENFILENAME....??
Se hai un'esempietto, magari da inserire sel tuo sito....!!
Chiedo troppo...!!
Ma sò che hai già tutto fatto.
Grazie.
@Alex.

>>OFN_ALLOWMULTISELECT <<<
Specifies that the File Name list box allows multiple selections.
----------------------------------------------
Prima di sera inserisco un esempio versione Acc2000.
Ciao Giorgio.

 sbirciando si può anche imparare :)
Tranquillo: adesso mi do fare!
Ciao!

 Ciao Giorgio.
Haaaa.....!!
Grande idea.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG