尝试使用vbScript格式化Excel列时出错

时间:2017-09-26 20:53:12

标签: excel vbscript

我正在使用vbScript在MS Excel文件上运行程序。这个程序的目标是4倍。

  1. 从文件
  2. 中的C列中删除所有“ - ”
  3. 将C列格式化为“000000000”(此栏包含社会安全号码,当我删除短划线时,我想保留前导零)
  4. 将列E格式化为“yyyymmdd”
  5. 保存文件
  6. 以下代码就是我正在使用的代码。我能够完美地实现目标#1和目标#3。我无法实现第二个目标,基本上一旦我删除“ - ”,值就不会反映前导零。当谈到目标#4时,弹出“另存为”对话框,我不得不手动保存。我不希望这样,而是希望文件只保存在具有相同文件名的相同位置。

    Const FromValue = "-"
    Const ToValue = ""
    
    Dim objExcel : Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = False
    Set objWorkbook =  objExcel.Workbooks.Open("C:\Users\charlie-tufts\Desktop\Practice Reports\VCA Termination Report Result.csv")
    Dim objWorksheet : Set objWorksheet = objWorkbook.Worksheets(1)
    Dim objRangeSSN : Set objRangeSSN = objWorksheet.range("C:C")
    Dim objRangeDate : Set objRangeDate = objWorksheet.range("E:E")
    
    
    
    
    objRangeSSN.Replace FromValue, ToValue
    objRangeSSN.numberformat = "000000000"
    objRangeDate.numberformat = "yyyymmdd"
    
    objExcel.DisplayAlerts = False 
    objExcel.Save
    objExcel.Quit
    

    提前感谢您的帮助!

    -Charlie

0 个答案:

没有答案