从Excel

时间:2018-01-16 09:13:15

标签: excel vba ms-access

从Excel工作簿导入时遇到一些问题。

Excel工作簿具有以下需要导入Access的列:

| ID2 | Hours | Total |
+-----+-------+-------+
|     |       |       |

除了Excel中的表格外,工作簿还有一个文本框(可以是"形状"或者ActiveX - 我只需要能够添加自由文本作为描述(超过255个字符)。 文本框应复制到Access数据库中的Description列,如下所示:

| ID   | ID2 | Description | Hours | Total |
+------+-----+-------------+-------+-------+
| (Ny) |   0 |             |     0 |     0 |

使用以下代码从Wxcel导入表时没有问题:

      DoCmd.TransferSpreadsheet acImport, _
                 acSpreadsheetTypeExcel12Xml, strTables(intWorksheets), _
                  strPathFile, blnHasFieldNames, _
                 strWorksheets(intWorksheets) & "$"

但是这段代码只能导入表及其内容。

您对如何将文本框导入Access表中的同一帖子有任何建议吗?

VBA需要从Access运行,因为它是导入数百个Excel工作簿的脚本的一部分。

1 个答案:

答案 0 :(得分:0)

如果可能,最好使用Excel VBA为每个工作簿将Description文本复制到Excel表的(可能是隐藏的)列,并将其与其他列一起导入Access。

但如果它是一个“单一”文本框,它怎么能填满整个描述栏?除非您打算在每一行中重复说明。 (这很奇怪。)

如果以上情况不可能,那么您可以使用Excel Automation打开每个文件并以编程方式找到“说明”文本,并更新“访问”表以包含此信息。

然而,

  

它是导入数百个Excel工作簿的脚本的一部分。

要使这个过程成功使用数百个工作簿,他们每个人都必须遵循相同的格式。也就是说,在工作表上只有一个文本框,或者文本框始终具有相同的可识别名称。