博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vba使用win32 API(GetOpenFileName )实现打开文件对话框
阅读量:4191 次
发布时间:2019-05-26

本文共 1204 字,大约阅读时间需要 4 分钟。

 
使用网上比较普遍的vb中使用WindowsAPI实现打开文件对话框代码,
Declare 
Function
 GetOpenFileName Lib 
"
comdlg32.dll
"
 Alias _
        
"
GetOpenFileNameA
"
 (pOpenfilename 
As
 OPENFILENAME) 
As
 
Long
 
Type OPENFILENAME
     lStructSize 
As
 
Long
     hwndOwner 
As
 
Long
     hInstance 
As
 
Long
     lpstrFilter 
As
 
String
     lpstrCustomFilter 
As
 
String
     nMaxCustFilter 
As
 
Long
     nFilterIndex 
As
 
Long
     lpstrFile 
As
 
String
     nMaxFile 
As
 
Long
     lpstrFileTitle 
As
 
String
     nMaxFileTitle 
As
 
Long
     lpstrInitialDir 
As
 
String
     lpstrTitle 
As
 
String
     flags 
As
 
Long
     nFileOffset 
As
 
Integer
     nFileExtension 
As
 
Integer
     lpstrDefExt 
As
 
String
     lCustData 
As
 
Long
     lpfnHook 
As
 
Long
     lpTemplateName 
As
 
String
End
 Type 
调用代码
Sub
 t()
    
Dim
 ofn 
As
 OPENFILENAME
    
Dim
 rtn 
As
 
String
    ofn.lStructSize 
=
 
Len
(ofn)
    ofn.hwndOwner 
=
 Application.hWnd
    
'
ofn.hInstance = Application.hInstance
    ofn.lpstrFilter 
=
 
"
XML Files (*.xml)
"
 
&
 
Chr
(
0
&
 
"
*.xml
"
 
&
 
Chr
(
0
)
    ofn.lpstrFile 
=
 
Space
(
254
)
    ofn.nMaxFile 
=
 
255
    ofn.lpstrFileTitle 
=
 
Space
(
254
)
    ofn.nMaxFileTitle 
=
 
255
    ofn.lpstrInitialDir 
=
 
"
C:
"
    ofn.lpstrTitle 
=
 
"
打开文件
"
    ofn.flags 
=
 
6148
    rtn 
=
 GetOpenFileName(ofn)
    
If
 rtn 
>=
 
1
 
Then
        
MsgBox
 ofn.lpstrFile
    
Else
        
MsgBox
 
"
Cancel Was Pressed
"
    
End
 
If
End Sub

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1856201

你可能感兴趣的文章
嵌入式环境的搭建(用于Arm开发板)
查看>>
Qt中文件读取的几种方式
查看>>
pyqt实现界面化编程
查看>>
qt写DLL文件并调用和出现的问题分析
查看>>
工厂模式(Factory)-设计模式(一)
查看>>
建造者模式(Builder)-设计模式(三)
查看>>
Qt 怎么给QWidget添加滚动条
查看>>
双十一冲刺业绩,完不成杀运营祭天?程序员:你们也有今天
查看>>
搜狗输入法到底算不算恶意挟持百度搜索流量?五个测试告诉你答案
查看>>
百度成为美国领先的人工智能联盟的第一个中国成员
查看>>
程序员资讯:QR代码在公共交通中得到越来越多的采用
查看>>
当了将近十年的程序员,为什么从来没见过程序员带孩子
查看>>
程序员面试中最容易碰到的五个套路!应届生最容易上当
查看>>
三种不同的程序员,你属于哪一种?如果要裁员,你会让谁走?
查看>>
干货神总结,程序员面试技巧
查看>>
深度解析BAT三家互联网公司,为什么腾讯产品第一,百度技术第一,阿里运营第一?
查看>>
程序员发贴求助:剪短头发能缓解脱发吗?网友:我觉得秃头挺好的
查看>>
史上最难程序员的面试题!谷歌、百度、微软、阿里必答题
查看>>
为什么会出现“程序员千万不要学算法”这种言论?
查看>>
程序员如何做到快速升职?这几点你都做到了吗?
查看>>