【问题标题】:Saving a file to dynamic path which is a value in Excel cell将文件保存到动态路径,这是 Excel 单元格中的值
【发布时间】:2016-03-17 08:22:16
【问题描述】:

我在 PowerPoint 中有一个 vba 代码,它会自动使用处于活动状态的 Excel 文件的名称保存文件。

 PowerPointApp.ActivePresentation.SaveAs "Z:\05_PROJECT\Tanverdi\" & Replace(ThisWorkbook.Name, "xlsm", "ppt"), 1

不同的人会使用这个宏,他们都有不同的文件夹在使用。所以我希望文件夹的路径也是动态的。最好的解决方案是从我的活动 Excel 单元格中获取路径名,以便他们可以在 Excel cel 中写入路径名,然后我可以将此单元格值用作路径。

但是我该怎么做呢?

【问题讨论】:

    标签: vba excel powerpoint


    【解决方案1】:

    假设路径在 Sheet1/Cell A1 中,将硬编码路径替换为:

    PowerPointApp.ActivePresentation.SaveAs ThisWorkbook.Sheets(1).Range("A1").Value & Replace(ThisWorkbook.Name, "xlsm", "ppt"), 1
    

    【讨论】:

    • 我希望能够在 Excel 文件处于活动状态时从 Worksheet("Vorgaben") 获取单元格值,因此我不想指定工作簿名称。如何将此值放入变量并放入您放置 this.workbook.Sheets(1).Range("A1") 的位置?
    • 不完全确定我是否遵循 - 当你说“活动 Excel 文件”时,你的意思是你打开了那个 Excel 工作簿(但没有嵌入到 PowerPoint 或任何东西中,即你没有指向它的指针在您的 PowerPoint VBA 代码中)?或者您是否在 PowerPoint VBA 中引用了该工作簿?
    • 我在激活 PowerPoint 之前有一个活动的 Excel 文件,所以我只想将单元格值作为变量,如“路径名”,我想将此“路径名”变量与 Excel 文件名称结合起来已经用 Replace(ThisWorkbook.Name, "xlsm", "ppt"), 1
    • 对,所以 ThisWorkbook.Sheets("Vorgaben").Range("A1").Value 为您提供 Vorgaben 工作表上的 A1 单元格值 - 它不需要工作簿名称,您似乎已拥有 ThisWorkbook 参考(与使用 ThisWorkbook.Name 相同)
    • 你是这个意思吗? PowerPointApp.ActivePresentation.SaveAs ThisWorkbook.Sheets("Vorgaben").Range("D6").Value & Replace(ThisWorkbook.Name, "xlsm", "ppt"), 1 它不起作用(这应该使用范围 D6 作为文件夹名称和替换部分用于获取 Excel 文件名)
    猜你喜欢
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多