从单元格中命名文件夹和文件,并将文件保存在文件夹中

Posted

技术标签:

【中文标题】从单元格中命名文件夹和文件,并将文件保存在文件夹中【英文标题】:Name folder and file from cell, and save the file in the folder 【发布时间】:2022-01-09 19:04:28 【问题描述】:

这就是我想要宏做的事情:

    在 Excel 中创建由单元格定义的新文件夹。 打开 xxx 个 word 文档以更新链引用。 用 Excel 中的单元格定义的不同文件名保存 Word 文档。 使用 Excel 中单元格定义的不同文件名保存 Word 文档(在新文件夹中)。 关闭 Word 文档。

几乎一切正常,但到目前为止我只能将文件保存到现有文件夹中(新客户)。

代码如下:


Dim folderPath As String
folderPath = "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\New customer"
'Check if the folder exists
If Dir(folderPath, vbDirectory) = "" Then

 'Folder does not exist, so create it
 MkDir folderPath
 
  Else
     MsgBox "Mappe med samme navn eksisterer allerede"
     
End If
 
Set wordapp = CreateObject("word.Application")
 wordapp.Documents.Open "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\test.docx"
 wordapp.Visible = True
 'Auto save

 wordapp.ActiveDocument.SaveAs "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\New customer\" & Sheets("Testark").Range("A8")
 wordapp.Documents.Close
 

 wordapp.Documents.Open "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\test2.docx"
 wordapp.Visible = True
 'Auto save
 wordapp.ActiveDocument.SaveAs "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\New customer\" & Sheets("Testark").Range("B8")
 wordapp.Documents.Close
    
    
End Sub```
               


【问题讨论】:

不清楚你在问什么。另外:C:\Users\Path\ 存在吗?看起来好像您有一个名为 Path 的用户 【参考方案1】:

您的线路:

folderPath = "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\New customer"

告诉您的代码将其保存在何处。如果要保存在其他位置,则需要将文件夹路径的定义更改为“新客户”以外的其他内容。

即类似...

Dim strFolder as String
Let strFolder = Cell1.value
folderPath = "C:\Users\klebg\OneDrive\Zitekick\Kunder\Byg & Brand\TEST\" & strFolder

【讨论】:

你好,查尔斯。谢谢你的回复:) 我知道,您的建议是,但我想要将文档保存在一个新文件夹中,文件夹名称由单元格文本定义(请参阅我的描述中的 1.) .因此,我不能只重命名“新客户”。 查看我编辑的答案。

以上是关于从单元格中命名文件夹和文件,并将文件保存在文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 保存:不同单元格中的路径和文件名

Excel 2010 VBA:使用单元格中的值保存文件以确定路径和文件名

如何使用 VBA 从单元格中获取一些字符

如何将文本文件 (.py) 加载/编辑/运行/保存到 IPython 笔记本单元格中?

从服务器一个一个下载文件

将图像保存到核心数据中并将其提取到 tableview 单元格中