如何将更改保存到现有的 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 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将一些脚本添加到现有的swf文件?

如何将 Excel 转换为 JSON 并将其附加到现有的 JSON 文件?

如何使用 Pandas 在现有的 excel 文件中保存新工作表?

python 把新的dataframe保存到现有的excel新的sheet里面

如何使用 R 而不是整个数据表更改 excel 文件中的单个条目?

无法将熊猫数据框附加到现有的 Excel 工作表