VB vb打开文件代码选择文件

VB打开选择文件夹浏览框的问题_百度知道
VB打开选择文件夹浏览框的问题
请选择目录&&gt, Chr$(0)) - 1)
GetFolder = & &quot.lpszTitle = Title & Chr$(0)
Else Then&quot.pidlroot = 0
If Title & Alias &quot, & .hOwner = hWnd
&#39, Optional Title As String) As String
Dim bi As BROWSEINFO
Dim pidl As Long
Dim folder As String
folder = Space(255)
If IsNumeric(hWnd) T & Chr$(0)
pidl = SHBrowseForFolder(bi)
If SHGetPathFromIDlist(ByVal pidl.Text = GetFolder(Me.hW Alias & (LpBrowseInfo As BROWSEINFO) As LongPrivate Declare Function SHGetPathFromIDlist Lib &quot.dll&quot.ulFlags = BIF_RETURNONLYFSDIRSSHBrowseForFolderA&quot.dll&SHGetPathFromIDListA&quot?Option ExplicitPrivate Declare Function SHBrowseForFolder Lib &quot,请问大家要怎样添加代码才能使打开的浏览框自动定位到之前选择的文件夹上;&请选择目录&quot, InStr(folder.lpszTitle = &quot, ByVal folder) Then
GetFolder = Left(shell32;
End IfEnd FunctionPrivate Sub Command1_Click()
Text1;shell32; (ByVal pidl As Long, ByVal pszPath As String) As LongPrivate Type BROWSEINFO
hOwner As Long
pidlroot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lparam As Long
iImage As LongEnd TypePrivate Function GetFolder(ByVal hWnd As Long我用API写的代码如下
这个是要有数据记录的,将最后一次打开的目录记录到数据库中;这样才会自动打开最后一次的目录;
请问假设有数据记录,怎样更改上面的代码来调用记录?
你有数据记录的话,应该是一个目录形式的字符串吧。比如“d:\program Files\test”你把这条数据赋值给一个变量:dim st as string = “d:\program Files\test”然后 OpenFileDialog1.InitialDirectory = st即可
请问OpenFileDialog是指CommonDialog控件吗?但是我的代码里没有用到啊
是的,你没用的是哪个控件呀?
我的代码没有用到CommonDialog控件,打开的窗口如下图:请教如何使用CommonDialog控件实现同样的要求呢?
CommonDialog1.InitDir = &c:\windows&你可以试试上面这个,把目录修改为你的默认目录
请问要加在哪里?我的代码不是用CommonDialog打开浏览文件夹的窗口的。
其他类似问题
为您推荐:
其他1条回答
2指导意见:最好不好喝酒的。1。较大的结石应该考虑体外碎石或手术、肾结石少吃含钙高的食物,肾结石饮食注意,:可以少量喝的、肾结石少吃豆制品、对于这肾结石的治疗是这样的,排石颗粒,较小的结石可考虑药物排石。4、抗菌消炎药物、黄体酮的配合治疗也不错、肾结石少吃草酸盐含量高的食物。5、肾结石限量摄入糖类。 指导意见。3、肾结石病人不宜在临睡前喝牛奶
文件夹的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在vb中如何设计一个打开对话框并能打开文件呢?_百度知道
在vb中如何设计一个打开对话框并能打开文件呢?
CommonDialog 控件(“打开”、“另存为”对话框)通过使用 CommonDialog 控件的 ShowOpen 和 ShowSave&方法可显示“打开”和“另存为”对话框。两个对话框均可用以指定驱动器,目录,文件扩展名和文件名。除对话的标题不同外,另存为对话外观上与打开对话相似。在运行时,当用户选择一个文件“关闭”对话框时,FileName 属性既为选定的文件名。可以设置 Filter 属性,这样对话就只显示某种文件类型,如文本文件。Flags&属性可用来改变对话的元素,当诸如覆盖文件之类的动作发生时,还可用来提示用户。CommonDialog&控件(“打开”、“另存为”对话框)示例下例显示“打开”对话框然后在信息框中显示所选的文件名:Private&Sub&Command1_Click()&&&&'&设置“CancelError”为&True&&&&CommonDialog1.CancelError&=&True&&&&On&Error&GoTo&ErrHandler&&&&'&设置标志&&&&CommonDialog1.Flags&=&cdlOFNHideReadOnly&&&&'&设置过滤器&&&&CommonDialog1.Filter&=&&All&Files&(*.*)|*.*|Text&Files&&&&_&&&&&(*.txt)|*.txt|Batch&Files&(*.bat)|*.bat&&&&&'&指定缺省的过滤器&&&&CommonDialog1.FilterIndex&=&2&&&&'&显示“打开”对话框&&&&CommonDialog1.ShowOpen&&&&'&显示选定文件的名字&&&&MsgBox&CommonDialog1.FileName&&&&Exit&Sub&&&&ErrHandler:&&&&'&用户按了“取消”按钮&&&&Exit&SubEnd&Sub
其他类似问题
为您推荐:
提问者采纳
加如comdialog控件comaialog1.showopen
您可能关注的推广
打开文件的相关知识
其他3条回答
窗体上放一个按钮:
Private Sub Command1_Click()
Dim filepath As String
filepath = openfile(Me)
If filepath && && Then
Call ShellExecute(Me.hwnd, &Open&, filepath, &&, App.Path, 1)
'**************选择文件声明
Public Declare Function GetOpenFileName Lib &comdlg32.dll& Alias &GetOpenFileNameA& ( _
pOpenfilename As OPENFILENAME) As Long
Public Type OPENFILENAME
lStructSize
lpstrFilter
lpstrCustomFilter
nMaxCustFilter
nFilterIndex
lpstrFil...
'添加窗体Form1,按钮Command1,然后添加如下代码:
Private&Declare&Function&GetOpenFileName&Lib&&comdlg32.dll&&Alias&&GetOpenFileNameA&&(pOPENFILENAME&As&OPENFILENAME)&As&Long
Private&Declare&Function&ShellExecute&Lib&&shell32.dll&&Alias&&ShellExecuteA&&(ByVal&hwnd&As&Long,&ByVal&lpOperation&As&String,&ByVal&lpFile&As&String,&ByVal&lpParameters&As&String,&ByVal&lpDirectory&As&String,&ByVal&nShowCmd&As&Long)&As&Long
Private&Const...
如果自己编写,就显得又点麻烦,VB自己提供了这样的控件了你点“工程”、“部件”,然后在“部件”对话框中选择“Microsoft Common Dialog Control 6.0”,将其添加到工具箱中然后就如楼上的所说,可以使用Commondialog1.action=1或者commondialog1.showopen把上面的代码写入你的单击事件中即可
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 3109|回复: 5
用VB打开指定文件夹内的指定EXCEL文件怎么写,在线等
阅读权限10
在线时间 小时
求大神帮助,首次发帖,求助呀亲!
我想做一个运行宏就可以读取1个指定文件指定的未打开的EXCEL文件,然后去读取其中某个数据格的数据。
这是我在这里找到的一个前辈的 稍微修改了下。
他是通过一个按钮来选取任意文件夹中的任意EXCEL文件,然后读取工作表“10”内的低36行9列的数据,显示在打开的EXCEL文件的5行6列数据格上。
我现在想把这个开头换掉,换成可以直接运行就把&&路径为 C:\Documents and Settings\Administrator\桌面\实验品\焦页7-1HF井.xls
Public Sub GetData()
Dim sFullName, sFile, sPath, sSheet, sCell As String
Dim sResult As String
sFullName = Application.GetOpenFilename '读取数据源文件路径和名称
If sFullName = False Then Exit Sub& & '如果放弃选择文件,退出程序
Range(&IV2&) = sFullName
Range(&IV3&) = sFullName
Range(&IV4&) = sFullName
Range(&IV3&).Replace what:=&*\&, replacement:=&& '利用通配符*替换路径为空,提取文件名称
Range(&IV4&).Replace what:=Range(&IV3&), replacement:=&&&&'替换上面提出的文件名称为空,提取文件路径
sFile = Range(&IV3&).Value& &'文件名称赋值
sPath = Range(&IV4&).Value& &'文件路径赋值
Range(&IV2:IV4&).ClearContents
sSheet = &10&& &'指定工作表,即在数据源文件中要读取数据的Sheet的名称
sCell = Cells(36, 9).Address '定义需要读取的区域,本例为B1:K100
sResult = GetCellValue(sPath, sFile, sSheet, sCell)
Cells(5, 6) = sResult&&'把读取的数据写入当前文件的B1:K100区域,便于后续查询使用
阅读权限100
在线时间 小时
建议上传表格附件来说明问题。
阅读权限10
在线时间 小时
蓝桥玄霜 发表于
建议上传表格附件来说明问题。
因为我在做的这个表格涉及我们公司机密,就不上传了,其实我想问的就是我用一个打开的EXCEL去读取另一个没打开的EXCEL,然后我希望不需要通过按钮来完成读取,而是运行后就自动读取没打开的那个EXCEL文件的数据:
编写一个打开 C:\Documents and Settings\Administrator\桌面\实验品\焦页7-1HF井.xls的语句。
然后下面我就可以用
sSheet = &10&打开工作表
用sCell = Cells(36, 9).Address
sResult = GetCellValue(sPath, sFile, sSheet, sCell)
Cells(5, 6) = sResult
这句话把这个焦页7-1HF井.xls(这个文件没打开)的'10'工作表的36行9列那个格子的数据读出来显示在本EXCEL的5行6列去
阅读权限100
在线时间 小时
阅读权限10
在线时间 小时
http://club.excelhome.net/thread--1.html
老师,你好,麻烦帮我看看我的文件,我想实现动态查找,相关文件已上传至我的帖子里面了,由于没有权限发信给你,只能在这里回复你,恳求帮忙看看,谢谢
阅读权限95
在线时间 小时
& & & & & & & &
楼主不上传附件不好弄的,如果怕汇密可以制作模拟附件发上来,模拟的附件最好跟真实情况相近
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师在VB中调用浏览文件夹对话框,注意,这里的浏览文件夹是指选中文件夹,也就是当打开浏览文件对话框的时候,并不显示所在文件夹里的文件,选中文件夹名称时候,关闭对话框,会把文件夹路径显示在窗口中。有两种方法可能实现本功能。
第一种方法:
Option Explicit
Private Declare Function SHBrowseForFolder Lib &shell32.dll& Alias &SHBrowseForFolderA& (LpBrowseInfo As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDlist Lib &shell32.dll& Alias &SHGetPathFromIDListA& (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Type BROWSEINFO
hOwner As Long
pidlroot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lparam As Long
iImage As Long
Private Function GetFolder(ByVal hWnd As Long, Optional Title As String) As String
Dim bi As BROWSEINFO
Dim pidl As Long
Dim folder As String
folder = Space(255)
If IsNumeric(hWnd) Then .hOwner = hWnd
' .ulFlags = BIF_RETURNONLYFSDIRS
.pidlroot = 0
If Title && && Then
.lpszTitle = Title & Chr$(0)
.lpszTitle = &请选择安装目录& & Chr$(0)
pidl = SHBrowseForFolder(bi)
If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then
GetFolder = Left(folder, InStr(folder, Chr$(0)) - 1)
GetFolder = &&
End Function
Private Sub Command1_Click()
Text1.Text = GetFolder(Me.hWnd, &请选择安装目录&)
第二种方法:
Private Declare Function SHBrowseForFolder Lib &shell32& (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib &shell32.dll& Alias _
&SHGetPathFromIDListA& (ByVal pIdl As Long, ByVal pszPath As String) As Long
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
Private Sub Command1_Click()
Dim bi As BrowseInfo
Dim folderid As Long
Dim pb As String
.hwndOwner = Me.hwnd
.lpsztitle = &文件存放到这个文件夹,点击选择文件夹:&
.ulFlags = 3
folderid = SHBrowseForFolder(bi)
If folderid = 0 Then Exit Sub
pb = String$(260, 0)
SHGetPathFromIDList folderid, pb
pb = Left$(pb, InStr(pb, vbNullChar) - 1)
Text1.Text = pb
两种方法实现的功能是相似的,你可以二选一实现选择文件夹的功能。
本类推荐文章
本类最新更新
最新源码下载VB&打开文本文件&打开txt文件
打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。
下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。
用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:
Private Sub Command1_Cliack()
Dim sA As String * 65400 '声明定长String变量
Open "F:\d.txt" For Binary As #1 '用二进制打开文件
Get #1, , sA '用Get语句从文件中获取字节
Text1 = sA '显示打开的文件
Close #1 '关闭文件
先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:Private
Sub Command1_Click()
Dim sA As String
Open "f:\d.txt" For Binary As #1
sA = Space(LOF(1)) '用空格填充sA变量
N,] j WQ y0Get #1, , sA '用Get语句获取文件全部内容
RichTextBox1.Text = sA
用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子
Private Sub Command1_Click()
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
用RichTextBox控件自身的LoadFile属性打开文件:
RichTextBox1.LoadFile "f:\d.txt", rtfText
另外,用VB直接打开TXT文本文件的方法:
shell("notepad D:\1.txt")
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 vb打开文件代码 的文章

 

随机推荐