访问富文本:支持 HTML 的哪个子集?
Posted
技术标签:
【中文标题】访问富文本:支持 HTML 的哪个子集?【英文标题】:Access Rich-Text: Which subset of HTML is supported? 【发布时间】:2011-08-29 09:18:14 【问题描述】:Microsoft Access 文本框可配置为“富文本”,允许用户应用粗体文本或不同字体大小等格式。在内部,这种“富文本”存储为 html。
由于 Access 提供的格式化选项有限,显然只有一部分 HTML 用于存储格式化文本。是否有一个列表描述使用了哪个 HTML 子集?理想情况下,我希望有一个可以在使用此访问功能格式化的文本字段中找到的标签列表。
【问题讨论】:
【参考方案1】:以下链接列出了 Access (2007) 支持的所有格式选项:
http://office.microsoft.com/en-us/access-help/insert-or-add-a-rich-text-field-HA010014097.aspx
为了获得 HTML 标记、样式等的列表,我建议存储具有所有格式的文本行,然后检查其 HTML(例如,每个格式选项一个记录 - 总共 16 个)。
...我自己做的,这里是支持的 HTML 标签列表:
<div>,<font>,<strong>,<em>,<u>,<ol>,<ul>,<li>,<blockquote>
并且,每个标签的样式/属性:
<font>: face, size, color, style(with BACKGROUND-COLOR only)
<div>: align, dir
【讨论】:
我一直试图通过罢工来工作。据我所知,Access 将div
而不是 p
用于您无法控制样式的文本块。回到微软,你又喝醉了。
值得注意的是 &lt;
和 &gt;
也可以用于转义 <
和 >
字符。我认为所有的字符代码都有效(尽管我没有进行广泛的测试)。还可以使用<b>
和<i>
代替<strong>
和<em>
【参考方案2】:
如果您想要一种简单的方法来测试标签组合,或者查看 Access 使用哪些标签进行渲染,您可以使用几个文本框和几行 VBA 代码创建一个简单的“IDE”概念。
左边的框有源代码,右边的框有渲染的 HTML。当您更改任一框中的文本时,您会在两个位置看到更改。在 HTML 端,您可以使用工具栏根据需要设置文本格式,然后查看左侧的源代码以查看 Access 使用了哪些标签。
要创建这个简单的编辑器,请使用以下步骤:
-
创建一个空白的 Microsoft Access 表单。
添加两个文本框,分别命名为
txtSource
和txtHTML
。
将右侧框的Text Format
设置为Rich Text
。
在两个框中,将Enter Key Behavior
设置为New Line in Field
。
将两个框都设置为使用[Event Procedure]
来处理On Change
事件。
在 VBA 端,添加以下代码行以保持文本同步:
Private Sub txtHTML_Change()
txtSource = txtHTML.Text
End Sub
Private Sub txtSource_Change()
txtHTML = txtSource.Text
End Sub
希望对其他人有所帮助! :-)
【讨论】:
【参考方案3】:这显然是一个较老的话题,但有一些信息要补充。
首先,据我所知,虽然支持 BLOCKQUOTE,但我不确定是否可以使用富文本 GUI 控件创建它。您可以在映射到富文本控件的文本中输入它,但它会以不同的方式显示(缩进)。
其次,虽然 GUI 中没有 Anchor/Link 项,但如果您在 Rich Text 字段中键入 URL,您将获得如下两个示例所示的链接:
<a href="http://www.***.com">http://www.***.com</a>
<a href="mailto:test@example.com">mailto:test@example.com</a>
在这两种情况下,我只在开始和结束标记之间键入文本。
第三,除了上面提到的之外,还支持额外的 HTML 实体 -- &用于和号 (&) 和 "用于双引号 (")。
我将美式键盘上的所有特殊字符输入到富文本控件中,结果如下:
<div>`~ ! @ # $ % ^ & * ( ) -_ = + [ ] \ | ; : ' " , < . > / ?</div>
从 XML/HTML 的角度来看,这些是有意义的。
【讨论】:
以上是关于访问富文本:支持 HTML 的哪个子集?的主要内容,如果未能解决你的问题,请参考以下文章