我有什么
我有一个excel单元格,说“A1”带有一些格式化文本。假设文本带有下划线和粗体,并显示“abc”,每个字母都是不同的颜色。
在访问中,我有一个带有备注字段的表格,文本格式设置为富文本格式。
我想要什么
今天,我设法从Excel打开一个记录集,使用格式化的Access表字段的文本,并将其发送到Excel单元格。现在我想做的就是反过来,但仍然来自Excel。
我尝试了什么
当ID = 4时,我尝试将A1的格式化文本发送到备注字段。发送单元格的值不保留格式,并将单元格作为对象发送。这是我试过的代码:
Sub test2()
Dim datab As Database
Dim rs As Recordset
Dim path As String
Dim str As String
path = "C:\Users\289894\Desktop\Database1.accdb"
Set datab = OpenDatabase(path)
Set rs = datab.OpenRecordset("SELECT * FROM [Table1]")
Do Until rs.EOF
rs.Edit
If rs!ID = 4 Then
rs!Memo = Range("A1")
rs.Update
End If
rs.MoveNext
Loop
rs.Close
End Sub
有没有办法发送文本,以便Access以其格式存储它而不必手动检查整个字符串的格式,在必要时添加HTML标记,然后发送它?我希望不会,并且想知道如何修改我的代码以发送带文本的格式!
答案 0 :(得分:0)
Access将备忘录格式称为" Rich Text",但仔细观察,帮助说:
选择富测试将文本存储为HTML并允许进行富文本格式化。
可以通过使用DAO检查字段的Value属性来确认。该字段的内容肯定是HTML。
因此,您不需要任何RTF,但您确实需要与Rich Text字段兼容的HTML。您可能会发现需要将Excel值复制到Word或PowerPoint中,然后将然后复制到“备注”字段中。这有时会产生比Excel更友好的HTML。
最安全的方法是自己构建HTML,尽管耗时,但您可以控制哪些格式很重要,以及HTML需要的简洁程度以及使用的CSS数量。 Excel的HTML往往很冗长,因此生成自己的HTML可能有助于最小化备注字段值的大小。