- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
经过数小时的 google VB 脚本失败后,我想我会来到这里。
目前我已经修改了一个 VBA 脚本,它导入多个 txt 文件,并根据 txt 文件名将它们复制到 XLSM 文件中的新工作表中。
我想做两件事,谷歌上的 {solved} 答案似乎对我不起作用。
1)如果现有工作表已经存在,则覆盖它---(注意:不要删除它......它将链接到另一个工作表进行计算),并且
2)以空格分隔格式导入文本文件---再次,解决了不玩游戏的答案。
谢谢(ps - 这里有几个类似的问题,有些对我的问题有类似的已解决答案,但似乎更加复杂......我追求的东西尽可能简单)
Sub GetSheets()
Path = "C:\test\"
Filename = Dir(Path & "*.txt")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
最佳答案
前段时间我遇到了同样的问题,与你的第一个类似的约束:
- 由于引用指向那里,请保留工作表
但是我没有您的第二个约束,因此我无法判断它是否匹配 100% ;但是我很确定你可以解决它。我什至建议您对临时工作表执行导入查询,然后使用复制粘贴宏操作将您定义明确的范围移动到其最终目的地
我使用导入查询解决了它。我使用“宏记录器”来做“csv导入”;然后我重构了代码。
' @brief ImportFile : Opens specified file and imports contents at destination
' @param ImpFileName : Path to the file to import
' @param ImpDest : Location of the destination (must be a single cell range)
Private Sub ImportFile(ImpFileName As String, ImpDest As Range)
With ImpDest.Worksheet.QueryTables.Add(Connection:= _
"TEXT;" & ImpFileName, Destination:=ImpDest)
.Name = "Import"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
' As the query execution does not trigger "content change event", we force triggering
' by editing the 1st cell's content.
Dim MyVal As Variant
MyVal = ImpDest.Cells(1, 1).Value
ImpDest.Cells(1, 1) = MyVal
End Sub
关于vba - 将文本文件导入 xlsm,然后覆盖 sheetname(如果已存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18198687/
我准备了一个带有 Visual Basic 代码的 excel 文件。它以 .xlsm 扩展名保存。现在excel图标出现了令人恼火的感叹号。 我可以从图标中删除那个感叹号吗? 最佳答案 使用 .xl
我正在尝试从 xlsm 文件复制宏并将其粘贴到新的 xlsm 文件中。我正在研究 win32com 和 xlwings,但没有找到任何有用的东西。非常感谢解决问题的提示! 最佳答案 安装 Python
我有一个 xlsm 文件,其中已经有很少的数据,需要在自动化过程中写入一些数据并创建一个新的 xlsm 文件。使用以下代码创建文件,但它已损坏且无法打开。文件大小减少,例如从 8kb 到 7kb。不确
当用户打开此工作簿时,我想强制他们立即将文件另存为新文件。对话框打开,但它只会让您将其另存为“所有文件”。 Dim Workbook_Orig As Variant Workbook_Orig
我有三个文件,一个是app.xlsm ,另一个是lib.xlsm , 而 app.xlsm使用 lib.xlsm作为引用(在工具 -> 引用中指定)。第三个,third.xlsm有以下代码: Priv
我有两个 Excel 文件,父文件和子文件,其中子文件包含父函数使用的函数库。出于版本控制的目的,我将它们保存在同一个文件夹中,并在完全相同的位置复制和重命名该文件夹以跟踪我的版本。我还希望动态更新引
亲爱的, 我创建了一个代码来循环遍历文件夹并删除 10 年前的文件,但循环无法正常工作,因为 FolderPath(变量)保持不变并且循环遵循无限循环。有帮助吗? Sub LoopThroughFol
需要帮助才能添加命令以另存为 .xlsm:- Private Sub cmdSaveForm1_Click() Dim strFolder As String Dim i As Lon
我的工作场所内部服务器中有一个 xlsm 文件。假设我们有 2 名 worker 使用此文件,其中包括 2 张,My_sheet和His_sheet . 我正在努力寻找一种方法让我们每个人都可以处理“
所以我正在使用 XLTM 文件,我希望用户确保它们保存为 XLSM。当他们单击“保存”时,效果很好,但我发现当他们单击“另存为”时,文件被保存为“*.xlsm.xlsm”。我对如何确保用户保存为 XL
我正在尝试从用密码加密的 xlsm Excel 文件中读取数据。 到目前为止,我在 Apache POI 网站上找到的方法和堆栈溢出都没有成功 这是我到目前为止所尝试的,以及我得到的异常: S
我有一个非常复杂的 Excel 工作簿,格式为 .xlsm,其中包含宏、命名范围以及所有花里胡哨的东西。我需要将 CSV 文件的内容放入此工作簿中的工作表(已存在)中,从最简单的意义上说:第 1 行第
我正在尝试使用 PHPExcel 读取、克隆和写入 .xlsm 文件,但出现错误: fatal error :未捕获异常“异常”,消息为“工作表!G177 -> 公式错误:发生意外错误”... 任何人
是否可以用 phpexcel 读写带有宏文件的 xlsm? 我测试这段代码只是为了复制原始文件: $objReader = PHPExcel_IOFactory::createReader('Exce
我正在编写的宏有问题。我有我正在编写宏的 xlsm 文件,它正在创建一个模板,该模板从其他人发送给我的多个电子表格中获取数据。但是,我用于信息的一个文件是 xlsm 文件,这给我带来了问题。我相信我已
我想启用我的宏.xlsm文件,只能使用 Excel 打开。 我可以知道并拒绝其他试图打开它的应用程序吗? Private Sub Workbook_Open() ... End Sub 最佳答案 您可
我有一个嵌入的 Word 文档 (*.docm)在我的 Excel 工作表中。 Word 文档包含 table , 与其对应的Table 有关系在 Excel 的 WorkSheet . 我希望在 D
我正在努力将我的 XLSM 转换为 XLSX 文件..它是在转换为 PDF 之前,我试图改变一点但没有成功。 我想与工作簿具有相同的名称,但只是 XLSX 格式。 Sub xlsmtoxlsx() D
我现在使用此代码遇到的主要问题是处理我打开的 xlsm 文件的错误。我对这些文件的 VB 代码没有编辑权限。如果 vb 出错,有没有办法跳过文件? 我有一个包含大约 99 个 xlsm 文件的文件夹,
最奇怪的事情发生在我身上。我有一个 xlsm 工作簿,其中包含各个级别的许多宏(常规、工作表、工作簿)。一切都按预期工作,但如果我尝试从 xlsx 工作簿复制一些单元格并将它们粘贴到我的 xlsm 工
我是一名优秀的程序员,十分优秀!