将 Excel 批量转换为文本分隔文件

2023-12-08

您好,我在处理将 Excel 电子表格转换为 txt 文件时遇到问题。

我想要做的是创建一个宏,它可以将一个文件夹中的所有 xls 文件转换为 txt 文件。

目前正在处理的代码

Sub Combined()

  Application.DisplayAlerts = False

  Const fPath As String = "C:\Users\A9993846\Desktop\"
  Dim sh As Worksheet
  Dim sName As String
  Dim inputString As String

  With Application
    .Calculation = xlCalculationManual
    .EnableEvents = False
    .ScreenUpdating = False
  End With

  sName = Dir(fPath & "*.xls*")

  Do Until sName = ""
    With GetObject(fPath & sName)
      For Each sh In .Worksheets
        With sh
          .SaveAs Replace(sName, ".xls*", ".txt"), 42 'UPDATE:
        End With
      Next sh
      .Close True
    End With
    sName = Dir
  Loop

  With Application
    .Calculation = xlAutomatic
    .EnableEvents = True
    .ScreenUpdating = True
  End With
End Sub

但它并没有按预期工作,我对 VB 的了解为零。有谁愿意伸出援手吗?


下面的代码将给定文件夹中的所有 Excel 工作簿(测试文件扩展名为“xlsx”)转换为 CSV 文件。文件名将为 [workbookname][sheetname].csv,即“foo.xlsx”将得到“foo.xlsxSheet1.scv”、“foo.xlsxSheet2.scv”等。为了运行它,请创建一个纯文本文件,将其重命名为 .vbs 并复制粘贴以下代码。更改路径信息并运行它。

Option Explicit

Dim oFSO, myFolder
Dim xlCSV

myFolder="C:\your\path\to\excelfiles\"


Set oFSO = CreateObject("Scripting.FileSystemObject")
xlCSV = 6 'Excel CSV format enum
Call ConvertAllExcelFiles(myFolder)
Set oFSO = Nothing

Call MsgBox ("Done!")


Sub ConvertAllExcelFiles(ByVal oFolder)
Dim targetF, oFileList, oFile
Dim oExcel, oWB, oWSH

    Set oExcel = CreateObject("Excel.Application")
    oExcel.DisplayAlerts = False
    Set targetF = oFSO.GetFolder(oFolder)
    Set oFileList = targetF.Files
    For Each oFile in oFileList
        If (Right(oFile.Name, 4) = "xlsx") Then
            Set oWB = oExcel.Workbooks.Open(oFile.Path)
            For Each oWSH in oWB.Sheets
                Call oWSH.SaveAs (oFile.Path & oWSH.Name & ".csv", xlCSV)
            Next
            Set oWSH = Nothing
            Call oWB.Close
            Set oWB = Nothing
        End If
    Next
    Call oExcel.Quit
    Set oExcel = Nothing

End Sub

如果需要,您可以提供更好的文件命名、错误处理等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Excel 批量转换为文本分隔文件 的相关文章

  • Power Query 根据 Excel 列列表过滤 SQL 视图

    有没有办法使用 Power Query 根据 Excel 表列中的值列表过滤 SQL 视图 我有一个返回大量数据 数百万条记录或属性 的 SQL 视图 用户希望根据属性 ID 的 Excel 表格列进行过滤 我知道我可以根据 Power 查
  • VBA cDate 无法在 Mac excel 2011(14.7.1) 上运行

    我正在尝试使用 VBA 脚本将日期转换为长日期 下面是代码片段 Sub test Dim str as string Dim d as variant str 1 1 2016 d cdate str end sub 上面的代码片段在 Wi
  • 为什么 CSV 文件中的多行单元格在 Excel 中每行末尾都显示有问号?

    我目前正在开发一个项目 我们希望允许用户将数据导出到 CSV 我们提供的一些数据在单个单元格中具有多个值 因此我们使用标准 CSV 方法将每个值放在自己的行上 Column A Column B Column C Value A Value
  • Excel VBA 组合框识别

    我的用户表单上有 4 个以上的组合框 当他们触发时 他们触发相同的事件 我想做的是找出哪个 ComboBox 触发了该事件 组合框的创建取决于组件的数量 生成组合框的代码如下所示 For j 0 To UBound ComponentLis
  • EPPlus / 如何从数据透视表获取数据?或者说如何轻松操作数据?

    我在处理报告中的数据上浪费了很多时间 使用数据透视表是个好主意 但是如何呢 我尝试了一些免费的PivotTable类 但缺少小计 然后 另一种方法 为了excel我正在使用的报告的输出EPPlus 它还支持数据透视表 问题是我们的一些客户没
  • 出现错误时如何中断?

    我有一个函数 其中某个地方有一些错误导致它返回 VALUE当我尝试在Excel中执行它时 我不知道错误在哪里 单步调试代码也很乏味 所以我希望调试器在发生错误时立即中断 我尝试去Tools gt options gt General gt
  • 将 Excel 模板 (xltx) 作为 Excel 模板而不是工作簿打开

    我正在尝试编写一行代码来打开 Excel 模板 xltx 文件作为 Excel 模板文件而不是新工作簿 我只是想让用户查看和编辑他们在我们网络上的库文件夹中的模板 然而 我尝试过的所有操作都会打开一个新的工作簿而不是模板 我尝试过互操作 W
  • Excel IE 自动化识别“css”元素

    仍然在抓取网站 从网页打印等方面进行掠夺 但遇到了一个障碍 我希望有人可以帮助我 下图显示了我想要激活的选项卡 我有代码可以到达那里 但无法激活该选项卡 虽然最后一行代码可以在我的台式电脑上运行 但我无法让它在我的其他电脑上运行 我可能可以
  • 如何从有条件的列中获取最新值

    我在 Excel 中有一个表 其中包含以下列 Date 人名 金额 英镑 该表用于记录人们何时付钱给我 通常 我可以让不止一个人在同一天向我付款 而且 随着时间的推移 同一个人会在很多天向我付款 记录添加到表格底部 以便按日期排序 但不再按
  • VBA 中的 Excel 下拉列表:“无法获取工作表类的 DropDowns 属性”

    我有这个代码 Sub addDropdown Name ActiveSheet DropDowns Add 74 25 60 188 25 87 75 Select Set n ActiveSheet DropDowns Name If N
  • C# 如何判断单元格中的公式是否有错误

    在 Excel 公式中 您可以使用 ISERR A1 or ISERROR A1 在 VBA 宏中 您可以使用IsError sheet Cells 1 1 但是使用 VSTO Excel Addin 项目我没有在 Microsoft Of
  • Excel 2010 中隐藏行的宏

    我对 VBA 编程有点陌生 我在互联网上阅读了一些内容 但找不到我需要的内容或无法使其正常工作 我的问题 在工作表 表 1 的单元格 B6 中 给出了项目将被利用的年数 在工作表 sheet 2 和 sheet 3 中 我制作了 50 年的
  • Excel 仅粘贴特殊使用值,还将值的数据类型与值一起复制到目标单元格中

    我一直在尝试更多地了解 Excel 单元格 特别是它们的数据类型 如果有人对细节感兴趣 我的调查位于下面的编号点中 我的结论被标记为 A 到 D 我真的很感兴趣是否有人有什么可以补充的 答 每个 Excel 单元格都有一个属性 用于定义它将
  • 错误:如何读取 Excel 中的空单元格

    我正在尝试使用 POI 从 Excel 读取数据 如何检查该单元格是否为空单元格 我不知道缺少什么我认为这应该有效 java util Iterator
  • Excel HTTP 获取超时

    我们有这个小子 它只是将数据泵入远程服务器 一切都按预期进行 前几天 网络服务器发生了一次持续大约一个小时的事件 我仍然可以 PING 服务器 但 IIS 没有响应 结果 宏只是挂起等待响应 关于快速通过 失败测试或超时有什么想法吗 Sub
  • VBA:如何从 MS Access 运行另一个应用程序

    我一直在试图解决这个问题 但似乎我在任何地方都找不到解决该问题的方法 这是第一部分 VBA Shell 命令始终返回 找不到文件 https stackoverflow com questions 10439024 vba shell co
  • 自动创建 Outlook 约会

    我有一个跟踪到期日期的电子表格 excel 2003 我想知道是否有办法让这些到期日期在 Outlook 中创建约会 提醒 到期日期位于电子表格的一个字段中 实体名称位于另一列中 理想情况下 我希望 Outlook 2003 能够获取日期
  • Hyperlinks.add VBA [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在用 VBA 编程 我想使用创建超链接hyperlink addActiveSheet 对象的方法 但是它不起作用 这是我的代码 set
  • 使用 python 只读取 Excel 中的可见行

    我想只读取 python 中 Excel 工作表中的可见行 输入 Excel表 所以当我过滤时 作为 python 中的输出 在本例中我将仅获得可见数据 1 行 这是我的代码 from openpyxl import load workbo
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f

随机推荐

  • 如何在空手道中使用特定于环境的测试数据

    我想知道在各种环境中执行测试时如何在运行时使用不同的数据集 我已阅读文档 但无法找到针对这种情况的最佳解决方案 要求 在 QA 环境中执行测试 然后在 SIT 中执行相同的测试 但是 在请求中使用不同的数据 例如 customerIds 这
  • 如何在AngularJS中渲染之前编译过滤器的结果

    我有一个网络应用程序 用户可以在其中输入 富文本 内容 tinymce 并可能输入超链接 在我的角度应用程序中 我使用 ng bind html unsafe 在 div 中渲染它以保留所有格式 我想将 ng click 附加到该内容中的任
  • 哪个事件被触发? (javascript,输入字段历史记录)

    我有一个空的文本字段 但是当您单击它时 它会显示以前输入的一些建议 如果我用鼠标选择其中一个 JavaScript 事件 会触发哪个 JavaScript 事件 我正在使用 jquery 1 6 2 来绑定侦听器 view textRegi
  • 如何从 tfrecords 目录创建 tf.data.dataset?

    我的数据集有不同的目录 每个目录对应一个类 每个目录中有不同数量的 tfrecord 我的问题是如何从每个目录中采样 5 个图像 每个 tfrecord 文件对应一个图像 我的另一个问题是如何对其中 5 个目录进行采样 然后从每个目录中采样
  • MS Access - Docmd.OpenReport

    我正在尝试打开一个包含两个日期 dateFrom 和 dateTo 之间的日期字段的报告 该日期字段来自表单中的文本框 共享的尝试不会起作用 第一个 因为日期应该以特定方式格式化 YYYY MM DD 或 MM DD YYYY 并用 值 而
  • 如何理解vertical-align: -0.125em和vertical-align: middle的区别?

    我看到代码了vertical align 0 125em 并思考它和vertical align middle vertical align middle means 将元素的中间与基线加上父级 x 高度的一半对齐 所以你需要找到middl
  • Chrome 中的“Access-Control-Allow-Origin 不允许 Origin null”。为什么? [复制]

    这个问题在这里已经有答案了 我正在开发一些 Javascript 以在我的 PC 上本地运行 我正在使用 jQuery CSV 插件 http plugins jquery com project csv 将 csv 文件加载到 javas
  • 将函数名称存储在数据库中然后执行

    我正在制作一种 CMS 系统 该系统在网页的各个部分中工作 并将每个部分作为不同的条目存储到 MySQL 数据库的表中 当用户第一次设置页面时 PHP 脚本调用一个名为addsection name content 将该部分添加到数据库中
  • Delphi:等待bat脚本运行结束

    我有bat 文件 可以进行一些操作 如何从 Delphi 运行该文件并等待 直到它停止 像这样的东西 procedure TForm1 Button1Click Sender TObject begin Starting bat file
  • Git:如何重置远程 Git 存储库以删除所有提交?

    如何重置远程和本地 Git 存储库以删除所有提交 我想以当前的 Head 作为初始提交重新开始 完全重置 删除 git本地目录 重新创建 git 存储库 cd project directory git init add some file
  • 如何从数组中返回随机值?

    我正在使用 jQuery 验证插件 并希望在成功时返回一个随机值 现在我正在尝试使用 var success message new Array success message 0 Good success message 1 Ok suc
  • pygame 让球互相弹开

    我试图让球互相弹开 我尝试使用reflect 方法 但由于某种原因不起作用 为了检测球 我使用了groupcollide 既然我想不出更好的方法 也许这是错误的 import pygame import random class Ball
  • 为什么我的 Python 合并排序这么慢?

    我在理解这种行为时遇到了一些困难 我正在使用 timeit module 测量执行时间并得到以下结果10000 cycles Merge 1 22722930395 气泡 0 810706578175 选择 0 469924766812 这
  • 根据可变的用户定义路径从关闭的工作簿复制数据

    我已经用尽了我的搜索能力来寻找解决方案 以下是我想做的事情的概述 用户打开启用宏的 Excel 文件 立即提示用户输入或选择所需工作簿的文件路径 他们需要选择两个文件 并且文件名可能不一致 输入文件位置后 第一个文件选择的第一个工作表将被复
  • 将列表转换为“转置”列表

    这可能是一个初学者问题 但我不知道如何寻找答案 因为我无法 命名 问题 我有 2 个列表或 2 个列表的元组 xxx time1 time2 time3 yyy value1 value2 value3 zzz xxx yyy 现在我想为每
  • iOS 4.3 库的 xcode4 文档

    我安装了 xcode4 并在 Organizer 我可以看到的文档iOS 4 3 库 Mac OS X 10 6 库 and Xcode 4 0 开发者库 但是 当我离线时 我无法访问 iOS 库文档 我得到加载网址时出错您没有连接到互联网
  • 什么控制PhoneGap是否打开外部浏览器/Safari?

    有时PhoneGap在Safari中打开网页 有时在其UIWebView中打开网页 是什么控制的 From PhoneGap支持普通网络吗 https github com callback callback ios blob master
  • Cron 表达式:在 ASP.Net Core 中每天运行一次任务

    我的asp net core程序需要收集前一天访问网站的所有IP 当一天结束时 我需要将 IP 列表输出到 txt 文件 因此 程序应该每天运行一次保存 IP 列表的方法 我应该如何设计它 在我看来 我会在startup cs并设置Task
  • 以编程方式包含在项目中

    我们如何使用代码将文件包含在项目中 我想包含这个文件 我也想要这样的等价物 在代码中 可能吗 您可以通过几种方法来做到这一点 命令行 devenv 命令 File AddExistingSolutionItem完整路径 文件名 项目文件 项
  • 将 Excel 批量转换为文本分隔文件

    您好 我在处理将 Excel 电子表格转换为 txt 文件时遇到问题 我想要做的是创建一个宏 它可以将一个文件夹中的所有 xls 文件转换为 txt 文件 目前正在处理的代码 Sub Combined Application Display