懒码农。。。。。。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
Dim strExcelFilePath,objDialog,tfile
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "Excel 2003|*.xls|Excel 2007|*.xlsx"
objDialog.InitialDir = CreateObject( "WScript.Shell" ).SpecialFolders( "MyDocuments" )
tfile=objDialog.ShowOpen
If tfile Then 
strExcelFilePath = objDialog.FileName

      ...... 

 

很正常的一段代码,但是在win 7 下就出错了,网上找了个解决方式:

 1 Function ChooseFile()
 2      Dim Result
 3      Result = ""
 4      Dim IE : Set IE = CreateObject("InternetExplorer.Application")
 5      With IE
 6          .Visible = False
 7          .Navigate("about:blank")
 8          Do Until .ReadyState = 4 : Loop
 9          With .Document
10              .Write "<html><body><input id='f' type='file'></body></html>"
11              With .All.f
12                  .Focus
13                  .Click
14                  Result = .Value
15              End With
16          End With
17          .Quit
18      End With
19      Set IE = Nothing
20     ChooseFile = Result
21 End Function

 

 

 

posted on 2010-06-21 16:13  阿彬  阅读(2657)  评论(0编辑  收藏  举报