Bonjour à tous
Je lance une fenêtre de sélection d'un répertoire en utilisant
l'API : "SHBrowseForFolder"
Comment je peux positionner cette fenêtre où je souhaite
sur l'écran ??
Je suppose qu'il faut utiliser l'API SetWindowPos mais le
problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
Merci à tous
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Bonjour à tous
Je lance une fenêtre de sélection d'un répertoire en utilisant
l'API : "SHBrowseForFolder"
Comment je peux positionner cette fenêtre où je souhaite
sur l'écran ??
Je suppose qu'il faut utiliser l'API SetWindowPos mais le
problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
Merci à tous
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Bonjour à tous
Je lance une fenêtre de sélection d'un répertoire en utilisant
l'API : "SHBrowseForFolder"
Comment je peux positionner cette fenêtre où je souhaite
sur l'écran ??
Je suppose qu'il faut utiliser l'API SetWindowPos mais le
problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
Merci à tous
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Salut Jessy! :O)
Tu devras récupèré le handle de la fenêtre avec FindWindow et pour y
parvenir, tu devras démarrer un Timer tout juste avant l'affichage de la
fenêtre car cette dernière est modale.
Voici un exemple
'***
' Module1
Option Explicit
Private m_sTitle As String
Private m_lPosX As Long
Private m_lPosY As Long
Private Const MAX_PATH As Long = 260&
Private Const LMEM_FIXED As Long = &H0
Private Const LMEM_ZEROINIT As Long = &H40
Private Const LPTR As Long = (LMEM_FIXED Or LMEM_ZEROINIT)
Private Const BIF_NEWDIALOGSTYLE As Long = &H40
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Type BROWSEINFO
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Sub CoTaskMemFree _
Lib "ole32.dll" _
( _
ByVal hMem As Long _
)
Private Declare Function SHBrowseForFolder _
Lib "shell32" _
( _
ByRef lpbi As BROWSEINFO _
) As Long
Private Declare Function SHGetPathFromIDList _
Lib "shell32" _
( _
ByVal pidList As Long, _
ByVal lpBuffer As String _
) As Long
Private Declare Sub MoveMemory _
Lib "kernel32" _
Alias "RtlMoveMemory" _
( _
ByRef pDest As Any, _
ByRef pSource As Any, _
ByVal dwLength As Long _
)
Private Declare Function LocalAlloc _
Lib "kernel32" _
( _
ByVal uFlags As Long, _
ByVal uBytes As Long _
) As Long
Private Declare Function LocalFree _
Lib "kernel32" _
( _
ByVal hMem As Long _
) As Long
Private Declare Function SetTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
) As Long
Private Declare Function KillTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long _
) As Long
Private Declare Function FindWindow _
Lib "user32" _
Alias "FindWindowA" _
( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Private Enum COINIT
COINIT_MULTITHREADED = &H0
COINIT_APARTMENTTHREADED = &H2
COINIT_DISABLE_OLE1DDE = &H4
COINIT_SPEED_OVER_MEMORY = &H8
End Enum
Public Function BrowseFolder _
( _
ByRef hWndOwner As Long, _
ByRef sTitle As String, _
ByRef sDefaultFolder As String, _
Optional ByRef lPosX As Long = -1, _
Optional ByRef lPosY As Long = -1 _
) As String
Dim lpIDList As Long
Dim bi As BROWSEINFO
Dim lpDefaultFolder As Long
With bi
.hWndOwner = hWndOwner
.lpszTitle = sTitle
.ulFlags = BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE
lpDefaultFolder = LocalAlloc(LPTR, Len(sDefaultFolder))
Call MoveMemory(ByVal lpDefaultFolder, _
ByVal sDefaultFolder, _
Len(sDefaultFolder))
.lParam = lpDefaultFolder
End With
' Vérifie si la position doit être modifié
If m_lPosX <> -1 Or m_lPosY <> -1 Then
' Ici on démarre le timer
m_sTitle = "Browse For Folder"
m_lPosX = lPosX
m_lPosY = lPosY
Call SetTimer(hWndOwner, 0, 50, AddressOf TimerProc)
End If
lpIDList = SHBrowseForFolder(bi)
If lpIDList <> 0 Then
BrowseFolder = String$(MAX_PATH, Chr$(0))
Call SHGetPathFromIDList(lpIDList, BrowseFolder)
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
End If
End Function
Private Sub StripNullTerminator(ByRef s As String)
If InStr(1, s, vbNullChar) Then s = Left$(s, InStr(1, s, vbNullChar) -
1)
End Sub
Public Sub TimerProc _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
)
Dim hWndBrowser As Long
hWndBrowser = FindWindow("#32770", m_sTitle)
If hWndBrowser > 0 Then
Call SetWindowPos(hWndBrowser, 0, m_lPosX, m_lPosY, 0, 0, 0)
Call KillTimer(hWnd, 0)
End If
End Sub
'***
'***
' Form1
Option Explicit
Private Sub Form_Load()
Call BrowseFolder(Me.hWnd, _
"Choisi un répertoire", _
"C:Program FilesMicrosoft Visual Studio", _
0, _
0)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Jessy SEMPERE" wrote in message
news:bji5k6$6md$
> Bonjour à tous
>
> Je lance une fenêtre de sélection d'un répertoire en utilisant
> l'API : "SHBrowseForFolder"
>
> Comment je peux positionner cette fenêtre où je souhaite
> sur l'écran ??
>
> Je suppose qu'il faut utiliser l'API SetWindowPos mais le
> problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
>
> Merci à tous
> @+
> Jessy Sempere - Access MVP
>
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
Salut Jessy! :O)
Tu devras récupèré le handle de la fenêtre avec FindWindow et pour y
parvenir, tu devras démarrer un Timer tout juste avant l'affichage de la
fenêtre car cette dernière est modale.
Voici un exemple
'***
' Module1
Option Explicit
Private m_sTitle As String
Private m_lPosX As Long
Private m_lPosY As Long
Private Const MAX_PATH As Long = 260&
Private Const LMEM_FIXED As Long = &H0
Private Const LMEM_ZEROINIT As Long = &H40
Private Const LPTR As Long = (LMEM_FIXED Or LMEM_ZEROINIT)
Private Const BIF_NEWDIALOGSTYLE As Long = &H40
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Type BROWSEINFO
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Sub CoTaskMemFree _
Lib "ole32.dll" _
( _
ByVal hMem As Long _
)
Private Declare Function SHBrowseForFolder _
Lib "shell32" _
( _
ByRef lpbi As BROWSEINFO _
) As Long
Private Declare Function SHGetPathFromIDList _
Lib "shell32" _
( _
ByVal pidList As Long, _
ByVal lpBuffer As String _
) As Long
Private Declare Sub MoveMemory _
Lib "kernel32" _
Alias "RtlMoveMemory" _
( _
ByRef pDest As Any, _
ByRef pSource As Any, _
ByVal dwLength As Long _
)
Private Declare Function LocalAlloc _
Lib "kernel32" _
( _
ByVal uFlags As Long, _
ByVal uBytes As Long _
) As Long
Private Declare Function LocalFree _
Lib "kernel32" _
( _
ByVal hMem As Long _
) As Long
Private Declare Function SetTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
) As Long
Private Declare Function KillTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long _
) As Long
Private Declare Function FindWindow _
Lib "user32" _
Alias "FindWindowA" _
( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Private Enum COINIT
COINIT_MULTITHREADED = &H0
COINIT_APARTMENTTHREADED = &H2
COINIT_DISABLE_OLE1DDE = &H4
COINIT_SPEED_OVER_MEMORY = &H8
End Enum
Public Function BrowseFolder _
( _
ByRef hWndOwner As Long, _
ByRef sTitle As String, _
ByRef sDefaultFolder As String, _
Optional ByRef lPosX As Long = -1, _
Optional ByRef lPosY As Long = -1 _
) As String
Dim lpIDList As Long
Dim bi As BROWSEINFO
Dim lpDefaultFolder As Long
With bi
.hWndOwner = hWndOwner
.lpszTitle = sTitle
.ulFlags = BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE
lpDefaultFolder = LocalAlloc(LPTR, Len(sDefaultFolder))
Call MoveMemory(ByVal lpDefaultFolder, _
ByVal sDefaultFolder, _
Len(sDefaultFolder))
.lParam = lpDefaultFolder
End With
' Vérifie si la position doit être modifié
If m_lPosX <> -1 Or m_lPosY <> -1 Then
' Ici on démarre le timer
m_sTitle = "Browse For Folder"
m_lPosX = lPosX
m_lPosY = lPosY
Call SetTimer(hWndOwner, 0, 50, AddressOf TimerProc)
End If
lpIDList = SHBrowseForFolder(bi)
If lpIDList <> 0 Then
BrowseFolder = String$(MAX_PATH, Chr$(0))
Call SHGetPathFromIDList(lpIDList, BrowseFolder)
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
End If
End Function
Private Sub StripNullTerminator(ByRef s As String)
If InStr(1, s, vbNullChar) Then s = Left$(s, InStr(1, s, vbNullChar) -
1)
End Sub
Public Sub TimerProc _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
)
Dim hWndBrowser As Long
hWndBrowser = FindWindow("#32770", m_sTitle)
If hWndBrowser > 0 Then
Call SetWindowPos(hWndBrowser, 0, m_lPosX, m_lPosY, 0, 0, 0)
Call KillTimer(hWnd, 0)
End If
End Sub
'***
'***
' Form1
Option Explicit
Private Sub Form_Load()
Call BrowseFolder(Me.hWnd, _
"Choisi un répertoire", _
"C:Program FilesMicrosoft Visual Studio", _
0, _
0)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> wrote in message
news:bji5k6$6md$1@muguet.sncf.fr...
> Bonjour à tous
>
> Je lance une fenêtre de sélection d'un répertoire en utilisant
> l'API : "SHBrowseForFolder"
>
> Comment je peux positionner cette fenêtre où je souhaite
> sur l'écran ??
>
> Je suppose qu'il faut utiliser l'API SetWindowPos mais le
> problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
>
> Merci à tous
> @+
> Jessy Sempere - Access MVP
> news@access.fr.vu
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
Salut Jessy! :O)
Tu devras récupèré le handle de la fenêtre avec FindWindow et pour y
parvenir, tu devras démarrer un Timer tout juste avant l'affichage de la
fenêtre car cette dernière est modale.
Voici un exemple
'***
' Module1
Option Explicit
Private m_sTitle As String
Private m_lPosX As Long
Private m_lPosY As Long
Private Const MAX_PATH As Long = 260&
Private Const LMEM_FIXED As Long = &H0
Private Const LMEM_ZEROINIT As Long = &H40
Private Const LPTR As Long = (LMEM_FIXED Or LMEM_ZEROINIT)
Private Const BIF_NEWDIALOGSTYLE As Long = &H40
Private Const BIF_RETURNONLYFSDIRS As Long = &H1
Private Type BROWSEINFO
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Sub CoTaskMemFree _
Lib "ole32.dll" _
( _
ByVal hMem As Long _
)
Private Declare Function SHBrowseForFolder _
Lib "shell32" _
( _
ByRef lpbi As BROWSEINFO _
) As Long
Private Declare Function SHGetPathFromIDList _
Lib "shell32" _
( _
ByVal pidList As Long, _
ByVal lpBuffer As String _
) As Long
Private Declare Sub MoveMemory _
Lib "kernel32" _
Alias "RtlMoveMemory" _
( _
ByRef pDest As Any, _
ByRef pSource As Any, _
ByVal dwLength As Long _
)
Private Declare Function LocalAlloc _
Lib "kernel32" _
( _
ByVal uFlags As Long, _
ByVal uBytes As Long _
) As Long
Private Declare Function LocalFree _
Lib "kernel32" _
( _
ByVal hMem As Long _
) As Long
Private Declare Function SetTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
) As Long
Private Declare Function KillTimer _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long _
) As Long
Private Declare Function FindWindow _
Lib "user32" _
Alias "FindWindowA" _
( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
Private Declare Function SetWindowPos _
Lib "user32" _
( _
ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Private Enum COINIT
COINIT_MULTITHREADED = &H0
COINIT_APARTMENTTHREADED = &H2
COINIT_DISABLE_OLE1DDE = &H4
COINIT_SPEED_OVER_MEMORY = &H8
End Enum
Public Function BrowseFolder _
( _
ByRef hWndOwner As Long, _
ByRef sTitle As String, _
ByRef sDefaultFolder As String, _
Optional ByRef lPosX As Long = -1, _
Optional ByRef lPosY As Long = -1 _
) As String
Dim lpIDList As Long
Dim bi As BROWSEINFO
Dim lpDefaultFolder As Long
With bi
.hWndOwner = hWndOwner
.lpszTitle = sTitle
.ulFlags = BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE
lpDefaultFolder = LocalAlloc(LPTR, Len(sDefaultFolder))
Call MoveMemory(ByVal lpDefaultFolder, _
ByVal sDefaultFolder, _
Len(sDefaultFolder))
.lParam = lpDefaultFolder
End With
' Vérifie si la position doit être modifié
If m_lPosX <> -1 Or m_lPosY <> -1 Then
' Ici on démarre le timer
m_sTitle = "Browse For Folder"
m_lPosX = lPosX
m_lPosY = lPosY
Call SetTimer(hWndOwner, 0, 50, AddressOf TimerProc)
End If
lpIDList = SHBrowseForFolder(bi)
If lpIDList <> 0 Then
BrowseFolder = String$(MAX_PATH, Chr$(0))
Call SHGetPathFromIDList(lpIDList, BrowseFolder)
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
End If
End Function
Private Sub StripNullTerminator(ByRef s As String)
If InStr(1, s, vbNullChar) Then s = Left$(s, InStr(1, s, vbNullChar) -
1)
End Sub
Public Sub TimerProc _
( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
)
Dim hWndBrowser As Long
hWndBrowser = FindWindow("#32770", m_sTitle)
If hWndBrowser > 0 Then
Call SetWindowPos(hWndBrowser, 0, m_lPosX, m_lPosY, 0, 0, 0)
Call KillTimer(hWnd, 0)
End If
End Sub
'***
'***
' Form1
Option Explicit
Private Sub Form_Load()
Call BrowseFolder(Me.hWnd, _
"Choisi un répertoire", _
"C:Program FilesMicrosoft Visual Studio", _
0, _
0)
End Sub
'***
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Jessy SEMPERE" wrote in message
news:bji5k6$6md$
> Bonjour à tous
>
> Je lance une fenêtre de sélection d'un répertoire en utilisant
> l'API : "SHBrowseForFolder"
>
> Comment je peux positionner cette fenêtre où je souhaite
> sur l'écran ??
>
> Je suppose qu'il faut utiliser l'API SetWindowPos mais le
> problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...
>
> Merci à tous
> @+
> Jessy Sempere - Access MVP
>
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
à la place de cette méthode bricolage, je t'en propose une moins bricolée
mais beaucoup plus complexe à mettre en oeuvre:
à la place de cette méthode bricolage, je t'en propose une moins bricolée
mais beaucoup plus complexe à mettre en oeuvre:
à la place de cette méthode bricolage, je t'en propose une moins bricolée
mais beaucoup plus complexe à mettre en oeuvre:
Bonjour et tout d'abord merci à tous les 2 ;-)
J'ai quelques problème à mettre en pratique donc du coup j'ai
2 - 3 questions :
1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
aucun moment on la renseigne...
2°) dans la fonction "BrowseFolder" à un moment on définie une
propriété de la boîte de dialogue qui doit s'ouvrir.
.lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
donc en fait le problème c'est que je suis sous Access97 et il
ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
fonction spécifique de VB... du coup quelle est mon altenative ???
3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
Merci dans tous les 2
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Bonjour et tout d'abord merci à tous les 2 ;-)
J'ai quelques problème à mettre en pratique donc du coup j'ai
2 - 3 questions :
1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
aucun moment on la renseigne...
2°) dans la fonction "BrowseFolder" à un moment on définie une
propriété de la boîte de dialogue qui doit s'ouvrir.
.lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
donc en fait le problème c'est que je suis sous Access97 et il
ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
fonction spécifique de VB... du coup quelle est mon altenative ???
3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
Merci dans tous les 2
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Bonjour et tout d'abord merci à tous les 2 ;-)
J'ai quelques problème à mettre en pratique donc du coup j'ai
2 - 3 questions :
1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
aucun moment on la renseigne...
2°) dans la fonction "BrowseFolder" à un moment on définie une
propriété de la boîte de dialogue qui doit s'ouvrir.
.lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
donc en fait le problème c'est que je suis sous Access97 et il
ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
fonction spécifique de VB... du coup quelle est mon altenative ???
3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
Call CoTaskMemFree(lpIDList)
Call LocalFree(lpDefaultFolder)
Call StripNullTerminator(BrowseFolder)
Merci dans tous les 2
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
Bonjour et merci
ben je suis preneur mais le problème est que je ne dispose
pas d'accès internet là où je me trouve... snif snif ;-)
donc si tu peux me le faire suivre en boîte perso ce serait
vraiment sympa... ()
merci d'avance
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Jean Yves SÉVENO" a écrit dans le message
3f5da309$0$20167$
> Bonjour,
>
> La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf
> il ne fonctionne même pas correctement sous Office 2000).
>
> La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
>
> Rends toi à l'adresse suivante et télécharge un fichier nommé
> BrowseForFolder.
>
> http://www.bmsltd.co.uk/MVP/Default.htm
>
> Il s'agit d'un fichier Excel mais le code VBA qu'il contient
> tout aussi bien sous Access.
>
> Cordialement.
>
> Jean Yves
Bonjour et merci
ben je suis preneur mais le problème est que je ne dispose
pas d'accès internet là où je me trouve... snif snif ;-)
donc si tu peux me le faire suivre en boîte perso ce serait
vraiment sympa... (jessy.sempere@sncf.fr)
merci d'avance
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Jean Yves SÉVENO" <jy.seveno.arbrug@free.fr> a écrit dans le message
3f5da309$0$20167$626a54ce@news.free.fr...
> Bonjour,
>
> La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf
> il ne fonctionne même pas correctement sous Office 2000).
>
> La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
>
> Rends toi à l'adresse suivante et télécharge un fichier nommé
> BrowseForFolder.
>
> http://www.bmsltd.co.uk/MVP/Default.htm
>
> Il s'agit d'un fichier Excel mais le code VBA qu'il contient
> tout aussi bien sous Access.
>
> Cordialement.
>
> Jean Yves
Bonjour et merci
ben je suis preneur mais le problème est que je ne dispose
pas d'accès internet là où je me trouve... snif snif ;-)
donc si tu peux me le faire suivre en boîte perso ce serait
vraiment sympa... ()
merci d'avance
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Jean Yves SÉVENO" a écrit dans le message
3f5da309$0$20167$
> Bonjour,
>
> La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf
> il ne fonctionne même pas correctement sous Office 2000).
>
> La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
>
> Rends toi à l'adresse suivante et télécharge un fichier nommé
> BrowseForFolder.
>
> http://www.bmsltd.co.uk/MVP/Default.htm
>
> Il s'agit d'un fichier Excel mais le code VBA qu'il contient
> tout aussi bien sous Access.
>
> Cordialement.
>
> Jean Yves
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
"Jessy SEMPERE" a écrit dans le message de
news:bjjuo0$v2m$
> Bonjour et tout d'abord merci à tous les 2 ;-)
>
> J'ai quelques problème à mettre en pratique donc du coup j'ai
> 2 - 3 questions :
>
> 1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
> de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
> aucun moment on la renseigne...
>
> 2°) dans la fonction "BrowseFolder" à un moment on définie une
> propriété de la boîte de dialogue qui doit s'ouvrir.
> .lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
> donc en fait le problème c'est que je suis sous Access97 et il
> ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
> fonction spécifique de VB... du coup quelle est mon altenative ???
>
> 3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
> Call CoTaskMemFree(lpIDList)
> Call LocalFree(lpDefaultFolder)
> Call StripNullTerminator(BrowseFolder)
>
> Merci dans tous les 2
> @+
> Jessy Sempere - Access MVP
>
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
"Jessy SEMPERE" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:bjjuo0$v2m$1@muguet.sncf.fr...
> Bonjour et tout d'abord merci à tous les 2 ;-)
>
> J'ai quelques problème à mettre en pratique donc du coup j'ai
> 2 - 3 questions :
>
> 1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
> de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
> aucun moment on la renseigne...
>
> 2°) dans la fonction "BrowseFolder" à un moment on définie une
> propriété de la boîte de dialogue qui doit s'ouvrir.
> .lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
> donc en fait le problème c'est que je suis sous Access97 et il
> ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
> fonction spécifique de VB... du coup quelle est mon altenative ???
>
> 3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
> Call CoTaskMemFree(lpIDList)
> Call LocalFree(lpDefaultFolder)
> Call StripNullTerminator(BrowseFolder)
>
> Merci dans tous les 2
> @+
> Jessy Sempere - Access MVP
> news@access.fr.vu
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
Bonjour,
La mauvaise nouvelle : Office 97 ne supporte pas l'opérateur AddressOf (et
il ne fonctionne même pas correctement sous Office 2000).
La bonne nouvelle : d'éminents spécialistes ont trouvé un contournement.
Rends toi à l'adresse suivante et télécharge un fichier nommé
BrowseForFolder.
http://www.bmsltd.co.uk/MVP/Default.htm
Il s'agit d'un fichier Excel mais le code VBA qu'il contient fonctionnera
tout aussi bien sous Access.
Cordialement.
Jean Yves
"Jessy SEMPERE" a écrit dans le message de
news:bjjuo0$v2m$
> Bonjour et tout d'abord merci à tous les 2 ;-)
>
> J'ai quelques problème à mettre en pratique donc du coup j'ai
> 2 - 3 questions :
>
> 1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
> de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
> aucun moment on la renseigne...
>
> 2°) dans la fonction "BrowseFolder" à un moment on définie une
> propriété de la boîte de dialogue qui doit s'ouvrir.
> .lpfnCallback = FARPROC(AddressOf BrowseCallbackProc)
> donc en fait le problème c'est que je suis sous Access97 et il
> ne reconnaît pas la fonction "AddressOf", je suppose que c'est une
> fonction spécifique de VB... du coup quelle est mon altenative ???
>
> 3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
> Call CoTaskMemFree(lpIDList)
> Call LocalFree(lpDefaultFolder)
> Call StripNullTerminator(BrowseFolder)
>
> Merci dans tous les 2
> @+
> Jessy Sempere - Access MVP
>
> ------------------------------------
> Site @ccess : http://access.jessy.free.fr/
> Pour l'efficacité de tous :
> http://users.skynet.be/mpfa/
> ------------------------------------
>
>
-----Message d'origine-----
Mais j'ai quand même une question technique :
A quoi sert AddressOf ???
En fait bon dans le fichier j'ai bien l'équivalent pour
et ça fonctionne très bien mais je ne comprends pas du
à quoi ça sert exactement.
-----Message d'origine-----
Mais j'ai quand même une question technique :
A quoi sert AddressOf ???
En fait bon dans le fichier j'ai bien l'équivalent pour
et ça fonctionne très bien mais je ne comprends pas du
à quoi ça sert exactement.
-----Message d'origine-----
Mais j'ai quand même une question technique :
A quoi sert AddressOf ???
En fait bon dans le fichier j'ai bien l'équivalent pour
et ça fonctionne très bien mais je ne comprends pas du
à quoi ça sert exactement.