场景:我需要能够复制访问功能,其中“右键单击,然后转到超链接,然后编辑超链接,找到照片,然后单击确定添加图像链接” 。我们的用户现在只能访问运行时,无法再完成此操作。
问题:我在互联网上搜索过,它告诉我使用Application.Dialogs打开对话框。唯一的问题是我没有这个选择。有人能够告诉我我需要添加哪个参考来完成此操作?或者是否有其他方法可以打开该对话框?
答案 0 :(得分:2)
对于尝试完成此操作的未来用户,我最终必须发送按键才能打开对话框。您需要记住在发送密钥之前将焦点设置回文本框,否则它将无效。
Private Sub Command24_Click()
Text35.SetFocus
SendKeys ("^k")
End Sub
答案 1 :(得分:2)
DoCmd.RunCommand acCmdEditHyperlink
将打开超链接插入/编辑对话框。
“清洁”解决方案(如果您可以进行相应的更改):将路径存储为数据库中的文本,并通过Application.FollowHyperlink
在您喜欢的任何事件上打开它。
答案 2 :(得分:2)
我阅读了整个页面,找到了一个精彩而快速的解决方案!我所做的就是应用建议将焦点设置到我的文本框中。
这是我根据以上内容构建的子程序:
Private Sub cmdHyperlink_Click()
Me.txtPDFLink.SetFocus
DoCmd.RunCommand acCmdEditHyperlink
End Sub
它工作得很好,实际上比右键单击更容易和更快,我禁用了它以阻止用户关闭表单或将其置于设计模式,这是他们不应该做的。
答案 3 :(得分:0)
使用DoCmd.RunCommand acCmdEditHyperlink
的另一种可能的解决方案是在超链接字段中双击。
Private Sub txtInvoiceOrReceiptLink_DblClick(Cancel As Integer)
On Error GoTo HandleErr
DoCmd.RunCommand acCmdEditHyperlink
ExitHere:
Exit Sub
HandleErr:
Select Case Err.Number
Case 2501 ' The RunCommand was canceled
Resume Next
Case Else
MsgBox "Error " & Err.Number & ": " & Err.Description, _
vbCritical, "br.Form_sfrmCashInflow.txtInvoiceOrReceiptLink_Enter"
End Select
Resume ExitHere
End Sub
通过双击编辑对话框,您仍然可以仅单击以跟随超链接。当用户取消编辑对话框时,错误处理代码将替代默认消息。
该解决方案在数据表或连续表单(除了标准视图中的表单)之外都可以很好地工作,因为它不需要从该字段外部指定相关的记录和字段(如果您需要这样做,尝试通过命令按钮弹出编辑对话框对话框。
一个缺点是,对于具有现有超链接的字段,双击也会触发超链接(以显示超链接指向的任何文件/资源)。也就是说,除了启动编辑对话框之外。