通过excel vba GUI将excel文件导出为txt格式

2024-03-22

我的目标是将excel文件导出为txt文件格式。这个想法是有一个 GUI 让用户选择她/他想要导出的 Excel 文件,并且她/他可以决定保存哪个文件路径和文件名。用户完成输入输出设置后,只需点击导出文本按钮即可将excel文件导出为txt文件并保存在他/她指定的位置。图形用户界面如下

我有一个宏可以将excel文件转换为txt格式

Private Sub ConvertToText()
ActiveWorkbook.SaveAs FileName:="C:\Projects\ExelToText\Text.txt", FileFormat:=xlCurrentPlatformText, CreateBackup:=False
End Sub

我的问题是如何将 FileInput 和 FileOutput 中的值作为变量传递给上面的宏,而不是对文件路径进行编码。感谢您的帮助,如果您有更好的建议,请分享。谢谢

下面是完整的源代码

Private Sub ReadButton_Click()
OpenWorkbookUsingFileDialog
End Sub
------------------------------
Private Sub WriteButton_Click()
WriteWorkbookUsingFileDialog
End Sub
------------------------------
Private Sub ExportButton_Click()
ConvertToText
End Sub
------------------------------
Private Sub OpenWorkbookUsingFileDialog()

Dim fdl As FileDialog
Dim FileName As String
Dim FileChosen As Integer

Set fdl = Application.FileDialog(msoFileDialogFilePicker)

fdl.Title = "Please Select a Excel File"
fdl.InitialFileName = "c:\"
fdl.InitialView = msoFileDialogViewSmallIcons

fdl.Filters.Clear
fdl.Filters.Add "Excel Files", "*.xlsx; *.xls"

FileChosen = fdl.Show

If FileChosen <> -1 Then

MsgBox "You have choosen nothing"
ReadTextBox = Null
Else

 MsgBox fdl.SelectedItems(1)
 FileName = fdl.SelectedItems(1)
 ReadTextBox = FileName
End If

End Sub
-----------------------------------
Private Sub WriteWorkbookUsingFileDialog()

Dim file_name As Variant


file_name = Application.GetSaveAsFilename( _
    FileFilter:="Text Files,*.txt,All Files,*.*", _
    Title:="Save As File Name")


If file_name = False Then Exit Sub


If LCase$(Right$(file_name, 4)) <> ".txt" Then
    file_name = file_name & ".txt"
End If
WriteTextBox = file_name

End Sub
----------------------------
Private Sub ConvertToText()
ActiveWorkbook.SaveAs FileName:="C:\Projects\ExelToText\Text.txt",FileFormat:=xlCurrentPlatformText, CreateBackup:=False
End Sub

让它成为你的子程序ConvertToText需要文件路径/字符串参数:

Private Sub ConvertToText(sourcePath as String, destPath as String)
    Dim wb as Workbook
    Set wb = Workbooks.Open(sourcePath)
    wb.SaveAs FileName:=destPath,       
    FileFormat:=xlCurrentPlatformText, CreateBackup:=False
    wb.Close
End Sub

然后,对您的ExportButton将此参数发送到ConvertToText sub:

Private Sub ExportButton_Click()
    On Error Resume Next
    ConvertToText Me.TextBox1.Value, Me.TextBox2.Value 'Modify this so that it refers to the TextBoxes on your form
    If Err.Number <> 0 Then 
        MsgBox "Unable to convert file. Please ensure a valid file was entered.", vbCritical
    End If
    On Error GoTo 0
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过excel vba GUI将excel文件导出为txt格式 的相关文章

  • 如何从特定类获取特定链接?

    我想提取这个href从那个特定的class tr class even td a href italy serie a 2015 2016 Serie A 2015 2016 a td 这是我写的 Sub ExtractHrefClass
  • 具有日期和名称标准的 SUMIFS...仅限月份和年份

    我正在尝试获取 SUMIFS 公式来检查日期列 并仅对与标准日期的匹配年份和月份相对应的值求和 我还希望此 SUMIFS 包含名称标准和日期 IE 单元格 A1 SUMIFS Sheet1 O O Sheet1 D D Sheet2 DAT
  • Excel 2007 问题:预编程按钮突然不起作用[重复]

    这个问题在这里已经有答案了 今天 出乎意料的是 我工作的公司使用的表格的按钮突然出现了问题 奇怪的是 它只影响我确信是 ActiveX 命令按钮的部分 而不会导致其他形状或下拉菜单出现问题 问题 按钮没有反应 当您单击时 他们不会访问代码
  • Excel VBA - 将一行单元格值传递到数组,然后将该数组粘贴到单元格的相对引用

    使用 Excel 2010 VBA 我尝试将恒定范围的单元格 其值重新计算 复制 传递 到数组 然后我尝试将该数组传递到其正下方的新单元格范围 完成此操作后 我想再次将常量范围的新值复制 传递 到数组 并将这些新值传递到我之前传递的值正下方
  • 使用 UnmanagedExports 包 [DllExport] 在 VBA 中调用 C# DLL 触发“找不到 DLL 入口点”错误

    我在用着罗伯特 吉塞克 http stackoverflow com users 35443 robert giesecke用于访问 Excel VBA 中的 c dll 的非托管导出包 我遵循了几个示例并继续收到运行时错误 453 在 m
  • Excel VSTO 加载项可以与 Excel 2007 和 2010 兼容吗?

    是否可以使用 VSTO 开发一个可部署到 Excel 2007 和 2010 的 Excel 加载项 任何有关此主题的详细资源的链接也将不胜感激 我似乎无法在谷歌上找到任何专门解决此问题的内容 我正在使用 Visual Studio 201
  • Excel工作表中的动态减法公式

    我需要在Excel中编写一个动态减法公式 该公式从其上方的单元格中减去 指定列的 单元格 例如 A2 A1 G1 G列固定 and A3 A2 G2 and A4 A3 G3 等等 Excel 足够智能 可以使用动态引用和对当前单元格的相对
  • VBA Word - 更改小数点分隔符

    我周围的一些人在 Windows Office 中使用国家本地化 不幸的是 这导致我的宏无法执行简单的数学运算 因为它们使用逗号表示小数位置 而我编辑的 pov ray 文件仅使用逗号作为列表分隔符 使用点表示小数点 1 我知道在 Exce
  • SSIS Excel 文件问题 - 创建文件失败

    我有 SSIS 包 可以抓取 excel 文件并将其加载到 sql 表中 运行它时出现以下错误 我尝试将 64 位运行设置为 false 那不起作用 我还安装了 64 位访问驱动程序引擎 这也没有帮助 数据流任务 Excel 源 2 出错
  • Excel VBA 通过简单除法引发溢出错误

    Excel 2013 VBA 这段代码 Sub test On Error GoTo Err Dim p As Double p 362 100 2005 Exit Sub Err If Err Description lt gt And
  • 将单独的范围放入二维数组中

    我正在尝试获取大小的二维数组 x 3 填充 X只是工作表的大小 行数 并且有 3 列我感兴趣 例如 这些列彼此不靠近arr i 0 应从 AA 栏开始填写 arr i 1 应来自 K 列 并且arr i 2 需要来自 L 列 我尝试按以下方
  • 用户完成后关闭 Excel

    任务非常简单 我想从 VB net GUI 打开 Excel 文档 xls 用户将处理 Excel 文件 用户完成后关闭 Excel 文件 我想要VB net代码释放Excel对象 问题是 当用户关闭文件时 Excel 对象仍然可以在任务管
  • Excel countif 单元格中的日期大于或等于另一个单元格中的日期

    这已经让我难受有一段时间了 我只需要计算一个单元格中的日期是否大于或等于另一个单元格中的日期 减去 x 天 例如 A1 2014 年 2 月 20 日 B1 2014年1月20日 COUNTIF B1 gt A1 30 30 就是负 30
  • VBScript for Excel:如何选择源数据 (.SetSourceData)?

    我已经在谷歌和这里搜索了这个问题的答案 但没有成功 如果之前有人问过 那么我道歉 我正在尝试使用 VBScript 自动执行一些管理任务 此特定脚本的目的是从文本文件 包含文本和数字列 中获取一些使用情况统计信息 并根据数据制作折线图 创建
  • 在 XSSF 工作簿上设置密码保护

    我想为使用 poi 3 14 创建的 xlsx 文件添加密码保护 该文档声称 这是可能的 http poi apache org cryption html http poi apache org encryption html 使用我尝试
  • 如何循环浏览文件夹内所有工作簿中的所有工作表

    我使用宏对计算机上给定文件夹中每个工作簿的每张工作表进行更改 事件顺序 打开用户选择的文件夹中的每个 Excel 文件 在工作簿中的每个工作表上执行任务 保存文件 关闭工作簿 宏不起作用 问题似乎是由Selection AutoFilter
  • 将字符串中的一个字符替换为另一个字符

    我有如下数据 A B C D 我想更换C与数据 例如 Z 这样它可能看起来像 A B Z D 我该怎么做 SUBSTITUTE A1 C Z 虽然我不清楚你是否想要G or Z 你提到G但你的示例输出显示Z
  • 强制 Excel 将多张纸作为单个作业打印

    在某些 Excel 2003 工作簿中 当我尝试print如果有多个工作表 Excel 将这些工作表视为单独的打印作业 这让我一直在编写的 Excel 自动化应用程序感到困惑 因为它会导致 Adob e PDF Printer 停止并询问用
  • org.apache.poi 中的异常

    我试图编写一个可以读取和写入的程序 xlsx文件中 下面提供的代码旨在能够编写其第一个 Excel 程序 package excel reader import java io FileOutputStream import java io
  • GetActiveObject() 与 GetObject() -- MK_E_UNAVAILABLE 错误

    All 我在将一些 VBA 代码转换为 C 时遇到一些问题 我们有一个充当本地 COM 服务器的第 3 方应用程序 在我们使用的VBA代码中获取对象 获取对现有对象的引用 e g Set appHandle GetObject ProgId

随机推荐

  • 在 JavaScript 中,如果我分配给一个具有 getter 但没有 setter 的对象属性,会发生什么情况?

    在下面的代码中 都使用了console log o x print 1 任务会发生什么情况o x 2 就这样被忽略了吗 var o get x return 1 console log o x 1 o x 2 console log o x
  • Java:在后台更新有大量行的 JTable

    我正在编写一个简单的 Java Swing 实用程序 它将从 MQ JMS 服务器读取消息并将它们显示在 JTable 中 private void getMessages try if null Queue Queue close Clo
  • 如何隐藏 emacs 创建的备份文件?

    我在使用 vi 很长时间后才开始使用 emacs 让我烦恼的一件事是 每当我修改文件 保存它并退出 emacs 时 我都会看到在同一目录中创建一个名为filename 如果我编辑的文件是filename 有什么办法可以摆脱这个吗 或者隐藏这
  • 将预测与 svyglm 结合使用

    我发现了一些奇怪的行为predict和svyglm对象从survey包裹 如果你的新数据在predict具有一个级别的因子 字符会输出错误 Error in contrasts lt tmp value contr funs 1 isOF
  • 如何使用 Ruby MiniTest::Spec 和 Rails 进行 API 集成测试?

    我正在构建一个包含 Rails API 的应用程序 并希望使用 Ruby MiniTest Spec 进行测试 有什么好的设置方法吗 例如 良好的目录组织 包含文件的良好方式等 我正在使用 Rails 3 In Action 一书中的指南
  • 在 Windows 上使用 Emacs 编译 C++ 程序

    我已经使用 Emacs 进行基本文本编辑有一段时间了 但从今天开始 我尝试使用它进行 C 编译 在过去的几个小时里 我一直在寻找如何解决这个问题 但我在他们的技术中不断遇到障碍 我认为其中一些与教程过时有关 基本上 我想做的就是能够通过 M
  • FCM/GCM JSON 有效负载 - 如何指定大图标?

    我正在使用 firebase 端点发送推送通知 它正在成功运行 我正在使用邮递员将请求发送到 FCM 我的问题是我不明白如何发送大图标 FCM 有两种可以发送的有效负载 数据有效负载和通知有效负载 See here https fireba
  • Web 控制浏览器后退按钮

    我正在使用导航 2 和setUrlStrategy PathUrlStrategy 我添加了WillPopScope但是onWillPop单击浏览器的后退按钮时不会调用 Widget build context return WillPop
  • 了解 LISP 中的绑定变量和自由变量

    我正在阅读SICP 又出现了绑定变量和自由变量的话题 然而 我对此感到困惑 术语 绑定变量 仅适用于形式参数变量吗 此外 文本还指出过程定义 绑定 其形式参数 这让我感到困惑 因为有些人说我们将值 绑定 到变量 显然 当我们谈论不同类型的变
  • Gulp 复制空目录

    In my gulp构建我已经创建了一个运行的任务after所有的编译 丑化和缩小都已经发生 此任务只是复制所有内容src进入dest早期任务尚未触及 处理的目录 我遇到的一个小问题是 这会导致目录中出现空目录dest目录 有没有办法告诉g
  • [UWP]调整BitmapImage的大小、压缩并获取base64字符串

    这是我的第一个主题 我正在 UWP 中重写在 Silverlight 8 WP8 中开发的应用程序 我在从 BitmapImage 获取 Base64 编码字符串时遇到问题 我工作了很多天都找不到解决方案 总之我需要 从设备图库中选择图像
  • H2 控制台和 Spring Security - PermitAll() 不起作用

    我正在创建rest api并实现Spring Security 一切正常 但我希望 目前 当我仍在开发时 能够让任何未经授权的人打开localhost 8080 console 我的代码 Override protected void co
  • docker-desktop 使用 12 GB RAM 来运行一个具有 24 MB RAM 的容器?

    在我看来就像 WSL2 容器docker desktop使用 12 GB RAM 来运行一个具有 24 MB RAM 的容器 是什么赋予了 详情如下 另外 当我将所有进程中的所有驻留 RAM VSZ 加起来时docker desktop 总
  • 使用 Node.js 在 Mongodb 中存储 JS 函数时出现问题

    我有一个简单的 JS 类 var User function id this id id this sayHello function return hello 然后 我使用默认的 Node js 驱动程序将其存储在 MongoDB 中 u
  • 在 Razor 中显示表达式值

    我想在剃刀视图中将以下表达式的值显示为文本 doc Extension string Empty ToUpperInvariant 我已经尝试了所有变体 但似乎没有任何效果 我知道我可以使用临时变量来存储该表达式的值 但我想知道是否有一种方
  • 如何解码/重新创建 Google Flights 搜索网址?

    问题 On 谷歌航班 http www google com travel flights 搜索信息被编码在 URL 参数中 这样用户就可以轻松地彼此共享航班搜索 URL 格式如下所示 https www google com travel
  • Spring Boot - RestController 反序列化 YAML 上传?

    如何配置 Spring Boot RestController 来接受 YAML 上传 下面的结果是 415 我从调试中可以看到MappingJackson2HttpMessageConverter我的 Spring 上下文中的实例仅支持
  • 在 React.js 中以组件状态存储表单输入,特别是密码

    有一个关于 React js 中表单的问题 我实际上没有问题 但想知道我的方法是否有任何缺陷 我有一个简单的表单 有两个电子邮件和密码输入 如下所示
  • 如何加速我的 Android-openCV 应用程序?

    我已经实现了一个 openCV 应用程序 我使用 SURF 描述符 它工作正常 代码如下所示 我减小输入视频流的大小以加快速度 capture set Highgui CV CAP PROP FRAME WIDTH display getW
  • 通过excel vba GUI将excel文件导出为txt格式

    我的目标是将excel文件导出为txt文件格式 这个想法是有一个 GUI 让用户选择她 他想要导出的 Excel 文件 并且她 他可以决定保存哪个文件路径和文件名 用户完成输入输出设置后 只需点击导出文本按钮即可将excel文件导出为txt