Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何列出文件夹中的文件名_Excel_Vba - Fatal编程技术网

Excel 如何列出文件夹中的文件名

Excel 如何列出文件夹中的文件名,excel,vba,Excel,Vba,我试图在文件夹中创建一个文件名列表以供参考,下面的代码列出了所有扩展名为Filename.pdf的文件名 Option Explicit Sub GetFileName() Dim xlRow As Long Dim sDir As String Dim FileName As String Dim sFolder As String sFolder = "C:\Temp\" With Application.FileDialog(msoFil

我试图在文件夹中创建一个文件名列表以供参考,下面的代码列出了所有扩展名为
Filename.pdf的文件名

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = FileName
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
如何从文件名中排除扩展名
.pdf

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = FileName
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
选项显式
子GetFileName()
长得像一排
将sDir设置为字符串
将文件名设置为字符串
作为字符串的Dim-sFolder
sFolder=“C:\Temp\”
使用Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&“\”
.Title=“请选择一个文件夹”
.InitialFileName=s文件夹
显示
如果.SelectedItems.Count 0,则
sDir=.SelectedItems(1)和“\”
FileName=Dir(sDir,7)
文件名“”时执行此操作
范围(“A1”)。偏移量(xlRow)=文件名
xlRow=xlRow+1
FileName=Dir
环
如果结束
以
端接头

我不是100%确定你在问什么,但我认为

If FileName Like "*.pdf" Then
    Range("A1").Offset(xlRow) = Mid(FileName,1,Len(FileName)-4)
End If

可能就是你想要的

我不是100%确定你在问什么,但我认为

If FileName Like "*.pdf" Then
    Range("A1").Offset(xlRow) = Mid(FileName,1,Len(FileName)-4)
End If

可能就是你想要的

我不是100%确定你在问什么,但我认为

If FileName Like "*.pdf" Then
    Range("A1").Offset(xlRow) = Mid(FileName,1,Len(FileName)-4)
End If

可能就是你想要的

我不是100%确定你在问什么,但我认为

If FileName Like "*.pdf" Then
    Range("A1").Offset(xlRow) = Mid(FileName,1,Len(FileName)-4)
End If

可能就是你想要的

如果文件名本身不包含句点,可以使用Split()

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = Split(FileName, ".")(0)
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
选项显式
子GetFileName()
长得像一排
将sDir设置为字符串
将文件名设置为字符串
作为字符串的Dim-sFolder
sFolder=“C:\Temp\”
使用Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&“\”
.Title=“请选择一个文件夹”
.InitialFileName=s文件夹
显示
如果.SelectedItems.Count 0,则
sDir=.SelectedItems(1)和“\”
FileName=Dir(sDir,7)
文件名“”时执行此操作
范围(“A1”)。偏移量(xlRow)=拆分(文件名“.”(0)
xlRow=xlRow+1
FileName=Dir
环
如果结束
以
端接头

如果文件名本身不包含句点,可以使用Split()

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = Split(FileName, ".")(0)
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
选项显式
子GetFileName()
长得像一排
将sDir设置为字符串
将文件名设置为字符串
作为字符串的Dim-sFolder
sFolder=“C:\Temp\”
使用Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&“\”
.Title=“请选择一个文件夹”
.InitialFileName=s文件夹
显示
如果.SelectedItems.Count 0,则
sDir=.SelectedItems(1)和“\”
FileName=Dir(sDir,7)
文件名“”时执行此操作
范围(“A1”)。偏移量(xlRow)=拆分(文件名“.”(0)
xlRow=xlRow+1
FileName=Dir
环
如果结束
以
端接头

如果文件名本身不包含句点,可以使用Split()

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = Split(FileName, ".")(0)
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
选项显式
子GetFileName()
长得像一排
将sDir设置为字符串
将文件名设置为字符串
作为字符串的Dim-sFolder
sFolder=“C:\Temp\”
使用Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&“\”
.Title=“请选择一个文件夹”
.InitialFileName=s文件夹
显示
如果.SelectedItems.Count 0,则
sDir=.SelectedItems(1)和“\”
FileName=Dir(sDir,7)
文件名“”时执行此操作
范围(“A1”)。偏移量(xlRow)=拆分(文件名“.”(0)
xlRow=xlRow+1
FileName=Dir
环
如果结束
以
端接头

如果文件名本身不包含句点,可以使用Split()

Option Explicit
Sub GetFileName()
    Dim xlRow As Long
    Dim sDir As String
    Dim FileName As String
    Dim sFolder As String

    sFolder = "C:\Temp\"

    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Application.DefaultFilePath & "\"
        .Title = "Please select a folder"
        .InitialFileName = sFolder
        .Show
        If .SelectedItems.Count <> 0 Then
            sDir = .SelectedItems(1) & "\"
            FileName = Dir(sDir, 7)

            Do While FileName <> ""
                Range("A1").Offset(xlRow) = Split(FileName, ".")(0)
                xlRow = xlRow + 1
                FileName = Dir
            Loop
        End If
    End With
End Sub
选项显式
子GetFileName()
长得像一排
将sDir设置为字符串
将文件名设置为字符串
作为字符串的Dim-sFolder
sFolder=“C:\Temp\”
使用Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&“\”
.Title=“请选择一个文件夹”
.InitialFileName=s文件夹
显示
如果.SelectedItems.Count 0,则
sDir=.SelectedItems(1)和“\”
FileName=Dir(sDir,7)
文件名“”时执行此操作
范围(“A1”)。偏移量(xlRow)=拆分(文件名“.”(0)
xlRow=xlRow+1
FileName=Dir
环
如果结束
以
端接头

如果该文件类似于“怪异.但是.合法.pdf”怎么办?有人可能会争辩说,任何使用这种文件名的人都应该让他们的程序崩溃如果该文件类似于“怪异.但是.合法.pdf”怎么办?有人可能会争辩说,任何使用这种文件名的人都应该让他们的程序崩溃如果该文件类似于“怪异.但是.legal.pdf”?有人可能会争辩说,任何使用这种文件名的人都应该让他们的程序崩溃。如果文件是“怪异.但是.legal.pdf”?有人可能会争辩说,任何使用这种文件名的人都应该让他们的程序崩溃