首页 > 解决方案 > VBA使用msoFolderPicker获取目录路径,如何在另一段代码中使用该值

问题描述

第一个。我正在尝试创建一个 msoFolderpicker 供用户选择文件夹。结果被打印在一个单元格中。我认为我有这个工作。第二。我有另一个导入(记录)宏代码,它当前调用硬编码的文件夹路径,并打开一个特定的 txt 文件。就其本身而言,它有效。我希望具有文件夹选择器存储值的灵活性,因此导入(记录的)marco 代码将其用作路径,而我需要硬编码的只是文件名。

我的测试包括尝试存储一个值然后尝试在另一个宏代码段中调用该值的有限知识。我只是不明白如何将两个部分连接在一起。我创建了一个 activex 按钮,并且“调用”了另一个宏。但在这种情况下无法接到工作电话。

    _______________________________
    Sub FolderPicker()
    '
    ' first attempt at a folderpicker. 
    ' Brings up file dialog box and user selects location path. Location path 
    is ' ' store in cell ("M11") on worksheet. This macro is stored on  
    'Sheets("Import_Macro").Select
    '
    '
   Dim diaFolder As FileDialog
    '
   Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
   diaFolder.AllowMultiSelect = False
   diaFolder.Show

   fle = diaFolder.SelectedItems(1)
   Range("M11") = fle

   Set diaFolder = Nothing

   End Sub
    _______________________________
   Sub import_parameter()
   '
   ' import_parameter Macro
    ' This was created with a recorded macro in excel.
    ' Opens a hardcode path and filename txt file and goes through the txt 
    ' delimited wizard
    ' then copies select data into the current open workbook. 
    ' This macro is stored on Sheets("App Settings").Select
    '
    Application.ScreenUpdating = False

    Workbooks.OpenText Filename:="C:\txtdata\cf_parameter.txt", Origin:=437, 
    _
      StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
    , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), 
    _
    Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), 
    TrailingMinusNumbers:=True
    Range("A2:G2000").Select
    Selection.Copy

    Windows("TRH Pre-Installation Guide.xlsm").Activate
    Sheets("App Settings").Select
    Range("B6:H6").Select
    ActiveSheet.Paste
    Selection.AutoFilter
    Application.CutCopyMode = False

    ActiveWindow.ActivateNext
    ActiveWindow.Close
    Range("B4").Select

    Application.ScreenUpdating = True

     End Sub
    _________________________________

目前,导入(录制的宏)代码自行工作并打开 txt 文件并将选择数据复制到工作簿中。但是,我觉得更好的选择是更改文件夹路径值而不是硬编码文件夹路径。对此的任何帮助将不胜感激。> !! 我提前感谢您的洞察力。

标签: excelvbadirectorystoragepicker

解决方案


推荐阅读