VBA 选择文件

Private Function SelectFile(ByVal strFilter As String) As String
    Dim
FileName As Variant
    
‘打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant
    Dim sFileName As
String                         ‘从FileName中提取的文件名
    Dim sPathName As
String                         ‘从FileName中提取的路径名
    Dim aFile As
Variant                            ‘数组,提取文件名sFileName时使用
    
‘调用Windows打开文件对话框
    FileName = Application.GetOpenFilename(strFilter) ‘
"CSV 文件 (*.csv),*.csv"
   
    If FileName = False
Then                       ‘如果按“取消”键
        SelectFile = ""
   
Else
        aFile = Split(FileName, "\")               
‘在全路径中,以“\”为分隔符,分成数据
        sPathName = aFile(0)                       
‘取盘符
        For i = 1 To UBound(aFile) - 1             
‘循环合成路径名
            sPathName = sPathName & "\" &
aFile(i)
        Next
        SelectFile = sPathName & "\" &
aFile(UBound(aFile))
    End If
End Function

Sub test()
Dim txt As Object
Dim lRow As Long
Dim text As
String
Dim Filename As Variant
ChDir ThisWorkbook.Path
Filename =
Application.GetOpenFilename("Text Files (*.txt), *.txt", , "请选取档案", ,
MultiSelect:=True)
  For Each fn In Filename
  pge = pge + 1
  lRow =
0
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set txt =
FSO.OpenTextFile(fn, ForReading, False)
        Do Until
txt.AtEndOfStream
            lRow = lRow + 1
            text =
txt.ReadLine
            ThisWorkbook.Worksheets(pge).Cells(lRow, 1) =
text
        Loop
    txt.Close
    Set txt = Nothing
Next
End
Sub

时间: 2024-08-10 23:28:43

VBA 选择文件的相关文章

VBA读取可选择文件夹下可选择txt文件内容

Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j% ChDir ThisWorkbook.Path Filename = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "请选取档案", , MultiSelect:=True) j = 1 For k = 1 To U

VBA之文件筛选

在工作中,经常会碰到从一堆腐朽的source中按照一个列表去筛选出来现在还要用的source文件. 这个如果用vba来实现的话,会节省大量的时间,而且不会出错. 前提说明: 将想要复制的文件名列表放在第一sheet的第一列,然后执行程序 首先选择源目录和目标目录, 然后会从源目录中查找文件,将存在的文件自动复制的目标目录中, 不存在的文件,记录在第二列里. Sub fileFilter() Dim folderOld As String Dim folderNew As String Dim f

VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示

Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E"Const TR_COL_NAME = "C"Const TR_COL_COUNT = "D"Const TR_COL_TREE_START = "F"Const TR_ROW_HEIGHT = 23Const TR_COL_LINE_WIDT

多选择文件打开对话框

多选择文件打开对话框 关键点 可以打开多个文件 实现过程 CString filter = "文本文档(*.txt)|*.txt|所有文件(*.*)|*.*||"; CFileDialog OpenFileDialog(TRUE, NULL, "*.txt", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, filter); //     OpenFileDialog.m_ofn.lpstrI

选择文件夹,路径选择

选择文件夹,路径选择, SelectDirectory #include "FileCtrl.hpp" const SELDIRHELP = 1000; void __fastcall TForm1::Button1Click(TObject *Sender) { String Dir = "C:\\Program Files\\CodeGear"; if (SelectDirectory(Dir, TSelectDirOpts() << sdAllow

C# 选择文件夹 选择文件

选择文件 1 //选择文件 2 OpenFileDialog dialog = new OpenFileDialog(); 3 dialog.Multiselect = true;//该值确定是否可以选择多个文件 4 dialog.Title = "请选择文件夹"; 5 dialog.Filter = "所有文件(*.*)|*.*"; 6 if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

C#选择文件、选择文件夹、打开文件(或者文件夹)

转载自:http://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowD

document.activeElement 过滤选择文件弹窗导致的页面失焦

在线考试页面,常常需要检测用户是否作弊. 一般是监听页面是否失焦的方式,而失焦的方式有很多种,比如QQ弹窗,切换页面,切换程序,input文件上传选择文件等 选择文件是正常情况,这种情况下需要过滤 本文很简单,其实就是 document.activeElement 的使用,获取当前页面上的焦点元素 鼠标点击或Tab切换时都可以触发获取 一般是表单input.textarea.select等,此外就是body项 <input type="text" name=""