excel - 在打开的 Excel 文件中编辑单元格
问题描述
我正在寻找通过 Word VBA 创建一个 excel 文档并编辑其中的一些单元格。我希望能够在包含其他 word 文档的目录中打开一个 word 文档并运行一个宏,该宏循环遍历所有文档并将 word 文档的名称放在“A”列中,并将文档的 flesch 可读性轻松得分放在'B' 列。我目前能够创建 excel 文档并将其保存到最后的目录中,但我无法编辑工作簿本身中的任何单元格。我目前拥有的代码如下。
Dim objExcel
Dim objDoc
Dim objSelection
Dim myCellA
Dim myCellB
Dim SaveAs1 As String
Dim i As Integer
SaveAs1 = ActiveDocument.Path & "\FleschData"
Set objExcel = CreateObject("Excel.Application")
Set objDoc = objExcel.Workbooks.Add
objExcel.Visible = True
Set objSelection = objExcel.Selection
Dim directoryName1 As String
directoryName1 = ActiveDocument.Path & "\"
vFile = Dir(directoryName1 & "*.*")
i = 1
Do While vFile <> ""
Set oDoc = Documents.Open(FileName:=directoryName1 & vFile)
Dim CopyName() As String
CopyName = Split(ActiveDocument.Name, ".")
Set myCellA = objSelection.Tables(1).Cell(Row:=i, Column:=1)
myCellA.Value = CopyName(0)
Set myCellB = objSelection.Tables(1).Cell(Row:=i, Column:=2)
myCellB.Value = ActiveDocument.Content.ReadabilityStatistics(9).Value
i = i + 1
oDoc.Close SaveChanges:=False
vFile = Dir
Loop
objExcel.ActiveWorkbook.SaveAs FileName:=SaveAs1, CreateBackup:=False
Application.DisplayAlerts = True
我目前遇到的问题是在 'Set myCellA = objSelection.Tables(1).Cell(Row:=i, Column:=1)' 行,错误是“对象不支持此属性或方法。 " 我尝试了几个不同的对象来调用 excel 函数,但似乎无法弄清楚。我对 VBA 比较陌生,所以任何见解都会有所帮助。
解决方案
Excel 范围不像 Word 那样工作 - 方法完全不同。
未经测试:
Dim objExcel
Dim objWb
Dim objSelection
Dim myCellA
Dim myCellB
Dim SaveAs1 As String
Dim i As Integer
SaveAs1 = ActiveDocument.Path & "\FleschData"
Set objExcel = CreateObject("Excel.Application")
Set objWb = objExcel.Workbooks.Add
objExcel.Visible = True
Dim directoryName1 As String
directoryName1 = ActiveDocument.Path & "\"
vFile = Dir(directoryName1 & "*.*")
i = 0
Do While vFile <> ""
i = i + 1
Set oDoc = Documents.Open(Filename:=directoryName1 & vFile)
With objWb.Sheets(1)
.Cells(i, 1).Value = Split(oDoc.Name, ".")(0)
.Cells(i, 2).Value = oDoc.Content.ReadabilityStatistics(9).Value
End With
oDoc.Close SaveChanges:=False
vFile = Dir
Loop
objWb.SaveAs Filename:=SaveAs1, CreateBackup:=False
Application.DisplayAlerts = True
推荐阅读
- php - 如何在 Microsoft Dynamics Nav 中通过 API 选择 Bill-to 和 Ship-to 字段值?
- node.js - Mongoose - 使用数组查找
- python - 无法使用 Python 连接 2 个列表(Int 和文本列表)并将输出数据拆分为单独的文件
- php - 基于多维数组中的子级构建php数组
- sql - 错误:列“owner_name”指定了多次
- java - Java 8 上的 TLS 版本始终默认为 TLSv1
- kubernetes - Prometheus Operator + 新 Kubernetes Minikube = DeadMansSwitch + KubeControllerManagerDown + KubeSchedulerDown + TargetDown
- sql - 与 sum 一起的情况
- header - 改变
在特定的 prestashop 中标记 - sql - MS SQL 根据一个列表执行多个更新