gpt4 book ai didi

excel - 如何允许在 VBA InputBox 中输入多行输入?

转载 作者:行者123 更新时间:2023-12-04 22:27:59 37 4
gpt4 key购买 nike

我正在研究一个宏,它允许我将 SQL 查询键入(或更可能粘贴)到 InputBox 中,然后单击“确定”,它会返回针对数据库的查询结果。问题是,默认情况下 VBA 只接受一行文本,并且 SQL 代码以更结构化的多行格式编写以提高可读性。当我尝试将 SQL 代码粘贴到 InputBox 中时,除第一行之外的所有文本都被截断。我的下一个想法是在显示 InputBox 并提示我输入查询之前读取剪贴板的内容并用空格替换任何换行符,但显然这对我输入而不是粘贴的查询没有帮助。任何帮助将不胜感激!

最佳答案

我不相信你可以在 InputBox 中做到这一点。 InputBoxes 通常用于小型输入,例如数字或单词。此外,点击 enter在输入 InputBox 时会提交它,因此如果您可以添加多行会令人困惑。

你可以做的是创建一个新的用户窗体,并添加一个带有 MultiLine 的文本框。字段设置为 True .然后,只需添加一个关闭表单的“确定”按钮,然后从 TextBox 中读取您的宏。

作为另一种选择,这是我用来获取用户剪贴板上当前任何文本的函数。因此,您可以在运行需要使用它的任何宏之前复制您的查询。

Function copyFromClipboard() As String
Dim clipboard As MSForms.DataObject
Set clipboard = New MSForms.DataObject
clipboard.GetFromClipboard
copyFromClipboard = clipboard.getText
End Function

它需要引用 Microsoft Forms 2.0 Object Library

关于excel - 如何允许在 VBA InputBox 中输入多行输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56004864/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com