【问题标题】:how to copy the location of a input excel sheet and use the same location for saving a new excel sheet如何复制输入 Excel 工作表的位置并使用相同的位置保存新的 Excel 工作表
【发布时间】:2014-05-20 11:07:04
【问题描述】:

请提出一些答案。 1.脚本会弹出一个框,要求输入excel。

Set ObjFSO = CreateObject("Excel.Application")

SPREADSHEET_PATH = ObjFSO.GetOpenFileName("Excel Files (*.xls;*.xlsx),*.xls;*.xlsx")
  1. 现在,在完成所有验证后,我将创建一个带有更新值的新 Excel 表。我正在使用

    strSSFileName = "C:\users\Desktop\New.xlsx" 设置 xlApp1 = CreateObject("Excel.Application") 设置 xlBook = xlApp1.WorkBooks.add() xlBook.saveAs(strSSFileName)

我不希望对位置进行硬编码,因为它将始终成为特定于位置的位置。

请提出一些答案。

【问题讨论】:

  • 那么您的问题到底是什么?是否要覆盖从 GetOpenFileName 调用中获得名称的文件?
  • 我希望在运行脚本时将新的 Excel 动态放置在同一位置。
  • 脚本流程: 1. 它会要求输入excel。 2. 根据将进行验证的逻辑。 3. 完成此操作后,它将在新的 Excel 表中捕获数据,我必须将其放置在与输入 excel 相同的位置。但我希望它是动态的。不想“硬编码”该位置。因为它将成为“特定位置”

标签: excel


【解决方案1】:

您似乎已经有了该位置,即SPREADSHEET_PATH。您可以从完整路径和文件名中提取路径,然后使用提取的路径并添加新文件名来保存新文件,例如xlBook.SaveAs(extractedPath & "\" & "New.xls").

编辑: 这会将文件保存在同一目录但名称不同

Dim extractedPath As String
extractedPath = Replace(SPREADSHEET_PATH, ".xls", " NEW.xls")
xlBook.SaveAs(extractedPath)

【讨论】:

  • 对不起,它抛出错误“对象定义错误”。并指向我写 xlBook.SaveAs(SPREADSHEET_PATH & "\" & "New.xls") 的位置,我以这种方式写了它。仅供参考,SPREADSHEET_PATH = ObjFSO.GetOpenFileName("Excel Files (.xls;.xlsx),.xls;.xlsx") 请建议现在做什么?
  • 您需要提取没有文件后缀的文件名,例如通过将 .xlsx 替换为空字符串。
  • 你能详细说明一下吗??
  • 问题是我将如何提取文件名?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多