VBA 中的文本文件:打开/查找替换/另存为/关闭文件

2024-01-11

这是我希望做的伪代码:

Open text File

Find "XXXXX" and Replace with "YYYY"

Save text File As

Close text file

这就是我到目前为止所拥有的

Private Sub CommandButton1_Click()

Dim sBuf As String
Dim sTemp As String
Dim iFileNum As Integer
Dim sFileName As String

' Edit as needed
sFileName = "C:\filelocation"

iFileNum = FreeFile
Open sFileName For Input As iFileNum

Do Until EOF(iFileNum)
Line Input #iFileNum, sBuf
sTemp = sTemp & sBuf & vbCrLf
Loop
Close iFileNum

sTemp = Replace(sTemp, "DIM A", "1.75")
sTemp = Replace(sTemp, "DIM B", "2.00")
sTemp = Replace(sTemp, "DIM C", "3.00")
sTemp = Replace(sTemp, "DIM D", "4.00")

'Save txt file as (if possible)

iFileNum = FreeFile
Open sFileName For Output As iFileNum

Print #iFileNum, sTemp

Close iFileNum

'Close Userform
Unload UserForm1

End Sub

但我不想覆盖原始文本文件,而是想“另存为”到新文件。


我想我来得太晚了...

今天遇到同样的问题;这是我的解决方案FileSystemObject:

Dim objFSO
Const ForReading = 1
Const ForWriting = 2
Dim objTS 'define a TextStream object
Dim strContents As String
Dim fileSpec As String

fileSpec = "C:\Temp\test.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(fileSpec, ForReading)
strContents = objTS.ReadAll
strContents = Replace(strContents, "XXXXX", "YYYY")
objTS.Close

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

VBA 中的文本文件:打开/查找替换/另存为/关闭文件 的相关文章

  • Outlook Application_NewMailEx 在启动时不工作

    我正在使用一个Application NewMailEx处理收到的所有电子邮件 它适用于 Outlook 打开时收到的电子邮件 然而在启动时 Application NewMailEx不会因收到的电子邮件而被呼叫 我尝试使用Applicat
  • 当行数 = 0 时删除 Excel 列中的单元格

    我试图删除电子表格中某一列中的所有单元格 0 并 召唤 不在该列顶部的值 我目前正在使用 Dim row index As Integer Dim col index As Integer row index 7 col index 16
  • VBA仅清除数据透视表缓存,但保留数据透视表结构

    如何使用VBA清除数据透视表缓存 但不破坏数据透视表结构 我的数据透视表已连接到外部数据源 SQL 源决定哪个用户应该查看数据的哪一部分 当表刷新时 源会填充该表 我想保存 Excel 文件并使用干净的数据透视表 内部没有数据 分发它 结果
  • 复制列中的所有单元格[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一张表 有 200 行 行间有一
  • FileDialog 保留以前的过滤器

    我正在 Access 数据库中制作表单 我需要打开文件对话框窗口几次 我只是不明白为什么在我更改选项值几次并打开文件对话框窗口后它没有更改过滤器 Public Sub Command17 Click Dim fd As FileDialog
  • 如何处理 Workbook.SaveAs 覆盖确认上的“否”或“取消”?

    我希望在 VBA 脚本开始修改内容之前提示用户保存工作簿 当 另存为 对话框出现时 如果用户单击 取消 我会引发自定义错误并停止脚本 如果他们单击 保存 并且文件名已存在 我希望询问他们是否覆盖 这是我的代码 Function SaveCu
  • Excel 宏与 Javascript

    我希望使用 Javascript 中的宏而不是默认的 VBA 来操作 Excel 电子表格 我可以使用以下 VBA 代码执行 javascript 代码 javascript to execute Dim b As String b fun
  • 在 VBA 中使用 getElementsByClassName

    我正在使用此代码从页面获取产品名称 页面代码是 div class product shop col sm 7 div class product name h1 Claro Glass 1 5 L Rectangular Air Tigh
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • 如何在字符串vba中包含引号

    我想存储以下文本 Test1 Monday Test Abcdef 全部在字符串中包含引号 我知道要在字符串中包含引号 我必须包含 之前 但在这里这不是一个很好的解决方案 因为我在文本中有太多这样的解决方案 知道如何一次完成这一切吗 您有两
  • VBA根据单元格的值是否为零显示/隐藏行

    我有一个 Excel 工作表 我想根据另一个单元格中的值隐藏或取消隐藏某些行 简而言之 整个事情应该取决于单元格中的值C2 D2 E2 If C2 is blank我想rows 31 to 40被隐藏 如果是的话不为空 他们需要是visib
  • Word通过vba宏删除tabe列出现错误

    我想将excel中的数据复制到word表中 然后从表中删除一些列 我可以将数据复制到表中 但是当我删除列时会出现错误 无法访问此集合中的各个列 因为该表具有混合的单元格宽度 我的代码 Public Tbl1 As Table Sub cal
  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • 根据单元格值向用户窗体添加复选框

    我对 VBA 很陌生 只有 3 天 但我发现它非常有用且易于使用 但现在我面临一个问题 我需要制作一个具有不同复选框的用户窗体 但我需要根据工作表某一列中使用的信息自动添加它们 我相信我可以使用 For Each Next 但我真的不知道如
  • 在组合框中显示可见工作表

    您好 我有以下代码来在组合框中显示工作表 创建工作表后 工作表会自动添加到列表中 我不希望隐藏的工作表在保管箱中可见 我怎么做 Option Explicit Private Sub ComboBox1 Change If ComboBox
  • 在 VBA Excel 中查找、剪切和插入行以匹配借项和贷项值

    我在 Sheet1 中有以下设置数据 并从第 4 行 A 列开始 其中标题位于第 3 行 No Date Code Name Remarks D e b i t Cr e d i t 1 4 30 2015 004 AB 01 04 15
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • Excel VBA - 添加自定义数字格式

    我有一个在 Excel 外部生成的文件 其中包含许多百分比 所有这些百分比都有一位小数 当导入到 Excel 中时 Excel 会在百分比中添加第二位小数 这似乎是 Excel 中百分比的某种默认格式 它只是添加了一个 0 我想将所有两位小
  • 如果总和为 0,则查找并删除带标题的最后一列

    我想创建一个宏 查找带有标题的最后一列 并仅当该列的总和等于零时才将其删除 到目前为止 这是我尝试过的 Dim LastCol As Long Dim i As Long With ThisWorkbook Sheets Sheet1 Fo
  • Redim Preserve 给出“下标超出范围”

    我想要Redim Preserve一个数组我不断收到错误 下标超出范围 我知道只有最后一个维度的大小可以更改 这正是我正在做的事情 这里出了什么问题 数组的类型是Variant BmMatrix Sheets BENCH Range a60

随机推荐

  • NSNetworkManager.ResolveListener 消息 Android

    有人可以解释一下可以传递到回调中的错误消息吗 public void onResolveFailed NsdServiceInfo serviceInfo int errorCode 我以前见过错误代码 3 但不知道它意味着什么 该文档充其
  • 何时在 WCF 服务中调用析构函数

    我需要创建一个维护 WCF 会话的服务 在构造函数中 我从数据库读取数据 当会话结束时 我必须将其保存回来 如果我理解正确 当我在客户端上调用 Close 时 会话结束 我的客户端 ServiceClient 是使用 SvcUtil exe
  • Swift - tableView 中的可移动行仅在一个部分内,而不是在部分之间

    有没有办法防止 tableView 中的单元格移动到不同的部分 The sections具有不同类型单元格的数据 因此当用户尝试将单元格拖到不同部分时 应用程序会崩溃 我只想允许用户在该部分内移动单元格 而不是在部分之间移动 相关代码如下
  • Tensorboard 无法获取运行的第一个事件时间戳

    我正在尝试可视化我在远程服务器上训练的培训课程 我使用 scp 将文件复制到本地 iMac 中 我尝试通过运行张量板来可视化数据 它运行张量板网站 但我无法获得可视化效果 每个图表都有一个零点 我在终端上收到此警告 WARNING tens
  • 如何抑制“git rebase --continue”的编辑器?

    我经常重新调整交互式基础以对历史记录进行微小的更改 例如删除空白行或编辑一行 在大多数情况下 这些更改是基于一些同行评审 首先我这样做 git rebase interactive 83bbeb27fcb1b5e164318fa17c55b
  • 如何在Java中将英文数字转换为中文

    我必须将英文数字转换为中文数字 但中文的数字系统与英语不同 有什么办法可以在运行时将英文数字转换为中文吗 建议使用而不是自己滚动ICU4J http site icu project org 数字格式 http icu project or
  • 命名路由 _path 与 _url

    Rails 提供命名路线 http api rubyonrails org classes ActionDispatch Routing html 可以使用路径或 url 调用路由助手 例如来自文档 and provide these na
  • 当 Fiddler 可以解密时为什么要使用 HTTPS [重复]

    这个问题在这里已经有答案了 我刚刚发现 Fiddler 可以解密 HTTPS 流量 例如 我使用 HTTPS 在本地主机上部署了一个网站 在 Fiddler 中检查数据包时 我能够查看所有信息 因为它有解密选项 我的问题是 当 Fiddle
  • Java Spring Jackson json库返回unicode而不是文本

    我正在使用这个教程 http www mkyong com spring mvc spring 3 mvc and json example http www mkyong com spring mvc spring 3 mvc and j
  • SAP GUI 脚本 - 按钮按下失败

    我在运行 SAP GUI 的 Excel 文件中使用宏 有一个步骤 当我单击 SAP 中的按钮时 会弹出另一个窗口 为此 我编写了这样的代码 session findbyid wnd 0 XX btnXX press session fin
  • 使用模块在 Eclipse 中创建 Google App Engine 项目

    我一直在按照 cloud google com 上的建议使用 Eclipse 和 Maven 编写 GAE 应用程序 最近 我需要使用 后端 或一组不同的实例来处理特定任务 我发现 后端 已被弃用 取而代之的是 模块 在过去的几天里 我一直
  • C - for 循环的缩写,仅执行一次

    我在 Mac 上用 ANSI C 编写了命令行实用程序 其中包含为单链表创建冒泡排序数组的函数 我声明了循环变量 int a 0 int b 0 我以缩写风格编写了循环的冒泡排序 即 将变量初始化留空 for a lt size a for
  • 使用 Google 地图轨迹 API

    我必须开发一个车辆跟踪系统 我已经完成了 Google Map API 和 Google Map Tracks API 教程 IE Google 地图 API 网络 https developers google com maps docu
  • 在 Java 中如何将一个数组的值设置为另一个数组的值?

    假设您有两个数组 int a 2 3 4 int b 4 5 6 如何将数组 a 设置为数组 b 并使它们保持不同的不同对象 就像我想到这样做 a b 但这不起作用 因为它只是创建 a 引用数组b 那么 将两个数组设置为相等 同时保持它们独
  • 从序列图创建代码

    有没有办法从序列图生成代码 我能找到的只是逆向工程 即 从生成的代码中您可以获得序列图 有没有办法做其他事情 从图表到源代码生成 UML 类图已经实现了这一点 相同的链接http msdn microsoft com en us libra
  • 创建 App Engine 后端时找不到 gcm.jar 错误 => 建议安装已弃用的库

    使用 Android Developer Studio 我尝试从菜单中为现有 Android 项目创建 App Engine 后端 工具 gt Google Cloud 工具 gt 生成 App Engine 后端 错误消息是 找不到 gc
  • 如何将一些文件从一个 git 存储库移动到另一个(不是克隆),保留历史记录

    我们的 Git 存储库最初是一个庞大的 SVN 存储库的一部分 其中每个项目都有自己的树 如下所示 project1 branches tags trunk project2 branches tags trunk 显然 使用以下命令将文件
  • 在 PHP 中从序列化数组中获取一个值

    您认为从数组中获取单个值的最有效方法是什么 我知道它是什么 我知道它在哪里 目前我正在这样做 array unserialize storedArray var array keyOne 想知道是否有更好的方法 你做得很好 我想不出比你所做
  • 使用 UNION INSERT INTO SELECT 奇怪的顺序

    我有一个典型的非标准化表 tempTable 具有多个编号的列 rep1 rep2 所以我编写了一个脚本将非标准化数据插入到标准化表中 myTable insert into myTable select idRep rep FROM se
  • VBA 中的文本文件:打开/查找替换/另存为/关闭文件

    这是我希望做的伪代码 Open text File Find XXXXX and Replace with YYYY Save text File As Close text file 这就是我到目前为止所拥有的 Private Sub C