IE8 catatrophe
Le
---DGI972---

Bonjour,
C'est la cata, j'ai installé IE8 et depuis ma petite fonction
choosefile ne fonctionne plus:
fich_i = ChooseFile()
'*******************************************************************************
Function ChooseFile()
On Error Resume Next
Dim Q2, sRet
Q2 = chr(34)
ChooseFile = ""
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = False
IE.Navigate("about:blank")
Do Until IE.ReadyState = 4
Loop
IE.Document.Write "<HTML><BODY><INPUT ID=" & Q2 & "Fil" & Q2 &
"Type=" & Q2 & "file" & Q2 & "></BODY></HTML>"
With IE.Document.all.Fil
.focus
.click
ChooseFile = .value
End With
IE.Quit
Set IE = Nothing
End Function
'*******************************************************************************
C'est la cata, j'ai installé IE8 et depuis ma petite fonction
choosefile ne fonctionne plus:
fich_i = ChooseFile()
'*******************************************************************************
Function ChooseFile()
On Error Resume Next
Dim Q2, sRet
Q2 = chr(34)
ChooseFile = ""
Set IE = CreateObject("InternetExplorer.Application")
IE.visible = False
IE.Navigate("about:blank")
Do Until IE.ReadyState = 4
Loop
IE.Document.Write "<HTML><BODY><INPUT ID=" & Q2 & "Fil" & Q2 &
"Type=" & Q2 & "file" & Q2 & "></BODY></HTML>"
With IE.Document.all.Fil
.focus
.click
ChooseFile = .value
End With
IE.Quit
Set IE = Nothing
End Function
'*******************************************************************************
Sous Vista SP2 avec un utilisateur normal, cela fonctionne chez moi...
Quel est le message d'erreur?
--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]
"---DGI972---" news:
__________ Information from ESET NOD32 Antivirus, version of virus signature database 3977 (20090331) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
bonjour,
Sous vista SP2 aussi
J'ai:
Script: C:PROGtestfich.vbs
Ligne: 10
Caract: 1
Erreur: chemin d'accés introuvable
Code: 800A004C
Source: Erreur d'exécution Microsoft VBScript
et la ligne est égale a:
Set oFilein=oFs.OpenTextFile(fich_i)
et c'est depuis la Maj d'IE8 (mais pourquoi donc j'ai installé ça) je
suis très embêté.
étrange!
Avez-vous testé avec le mode protégé désactivé?
Pourquoi passez-vous par un IE pour sélectionner un fichier?
--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]
"---DGI972---" news:
__________ Information from ESET NOD32 Antivirus, version of virus signature database 3977 (20090331) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
Bonjour
Merci je ne suis pas encore fou alors ...
Comment désactiver le mode protégé avec IE8 ?
Je passe par IE pour sélectionner un fichier car j'ai un parc de PC
hétérogène et c'était le solution miraculeuse de w2k a w2k3.
Je n'aime pas trop le CommonDialog car il faut mettre des dll et les
enregistrer par un regsvr non ?
Cordialement
news:
| Bonjour
Bonjour,
| Merci je ne suis pas encore fou alors ...
Non, non ;-)
C'est une modification du DOM introduite avec HTML 5
filename :
On getting, it must return the string "C:fakepath" followed by the
filename of the first file in the list of selected files, if any, or the
empty string if the list is empty. On setting, it must throw an
INVALID_ACCESS_ERR exception.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
En effet comdlg n'est pas disponible automatiquement mais Le shell offre
presque la même fonction, eklle est juste un peu moins "riche". Exemple:
Const WINDOW_HANDLE = 0
Const BIF_BROWSEINCLUDEFILES = &H4000&
Set objShell = CreateObject("Shell.Application")
Set objFileOrFolder= objShell.BrowseForFolder(WINDOW_HANDLE, "Select a
File:", BIF_BROWSEINCLUDEFILES, "C: ")
--
Marc [MCSE, MCTS, MVP]
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]
"---DGI972---" news:
__________ Information from ESET NOD32 Antivirus, version of virus signature database 3977 (20090331) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com
Bonjour gilles,
Mais j'ai bien choisi un fichier et qui existe de surcroit et j'ai
quand même le message erreur ...
news:
| Bonjour gilles,
Bonjour,
| Mais j'ai bien choisi un fichier et qui existe de surcroit et j'ai
| quand même le message erreur ...
Oui car le DOM HTML 5 retourne toujours le chemin du fichier sélectionné
sous le forme C:fakepathfilename.ext. Vous ne pouvez donc plus
utiliser cette technique avec IE8 car celui-ci est sur ce point en
conformité avec les nouvelles spécifications HTML 5.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
| Bonjour,
Bonjour,
| En effet comdlg n'est pas disponible automatiquement mais Le shell
| offre presque la même fonction, elle est juste un peu moins "riche".
En effet le Shell expose via l'interface IShellDispatch la méthode
BrowseForFolder. En revanche cette méthode ne permet plus de
sélectionner des fichiers depuis Windows XP :-( Pour obtenir cette
fonctionnalité indépendamment du système d'exploitation, il est à mon
avis nécéssaire d'utiliser un composant COM tiers ou alors de faire
appel aux API Windows via le wrapper Dynawrap.
DynaWrap - DynaCall Wrapper :
http://glsft.free.fr/index.php?option=com_content&task=view&idG&Itemid3
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Je sens encore la galère ...
J'ai testé ce bout de code
Il marche sous w2k pas sous Xp
Const WINDOW_HANDLE = 0
Const BIF_BROWSEINCLUDEFILES = &H4000&
Set objShell = CreateObject("Shell.Application")
Set objFileOrFolder= objShell.BrowseForFolder(WINDOW_HANDLE, "Choisir
le fichier:", BIF_BROWSEINCLUDEFILES, "C:METEOR")
Set objFileOrFolderItem = objFileOrFolder.Self
objPath = objFileOrFolderItem.Path
wscript.echo objpath