如何将更改保存到现有的 excel 文件,而不是创建包含更改的 txt 文件?
Posted
技术标签:
【中文标题】如何将更改保存到现有的 excel 文件,而不是创建包含更改的 txt 文件?【英文标题】:How to save changes to existing excel file instead of creating a txt file with the changes? 【发布时间】:2014-08-05 02:25:16 【问题描述】:我的代码从 excel 文件中读取列 B 并删除字符末尾有下划线的值,然后将其保存到带有更改的新 txt 文件中。但是现在我希望它将代码所做的任何更改(删除下划线)保存在现有的 excel 文件中并覆盖它,而不是使用更改创建一个新的 txt 文件......请帮助任何人?
'********** Declare the Output Values **********
Dim v_Parent, v_Child, v_Alias
Dim v_Output2
Dim c_Delimiter, c_Max_Length, c_Underscore, c_Comma
'********** Declare the Shell, Directory & File Properties **********
Dim objShell, objShell2, objFile
'********** Declare the Excel Properties **********
Dim objExcel, objWorkbook
'********** Declare the Other Variables **********
Dim c_Char
dim row
c_Underscore = "_"
c_Char = 1
c_B2 = "B2"
c_FirstWksht = 1
Set objShell = CreateObject("Wscript.Shell")
Set objExcel = CreateObject("Excel.Application")
Set objFSO2 = CreateObject("Scripting.FileSystemObject")
Set objWorkbook2 = objExcel.Workbooks.Open("D:\Shared\tempname\test\test2.xlsx")
Set objFile = objFSO2.CreateTextFile("D:\Shared\tempname\test\test2.txt")
'********** Instantiate the Workbook.Worksheets **********
' object to open a particular
' Excel Worksheet
Set objWorksheet2 = objWorkbook2.Worksheets(c_FirstWksht)
set Description_column_n = objWorksheet2.Range(c_B2).EntireColumn
For row = 1 To (Description_column_n.Rows.Count - 1)
v_Output2 = Description_column_n.Cells(row,1).Value
Do while (Right(v_Output2, c_Char) = c_Underscore)
v_Output2 = left(v_Output2, len(v_Output2) - c_Char)
Loop
objFile.Write v_Output2 & vbCRLF
next
Set objWorkbook2 = nothing
objExcel.Quit
'********** Exit the Script **********
Wscript.Quit
【问题讨论】:
【参考方案1】:也许令人惊讶的是,您会 save 工作簿:
...
objWorkbook2.Save
objWorkbook2.Close
objExcel.Quit
【讨论】:
以上是关于如何将更改保存到现有的 excel 文件,而不是创建包含更改的 txt 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Excel 转换为 JSON 并将其附加到现有的 JSON 文件?
如何使用 Pandas 在现有的 excel 文件中保存新工作表?
python 把新的dataframe保存到现有的excel新的sheet里面