使用“打印”时“对象不支持此属性或方法”

时间:2013-03-28 09:15:06

标签: forms vba excel-vba printing excel

我是VBA的新手(与Excel一起使用),我目前正在阅读一些教程,以了解它与Java oder C#的不同之处。但这不是问题...... ;-)

这一个教程告诉我在Form_Initialize过程中使用“Print”(我正在使用带有VBA6的Office XP ......不要问我为什么,这不是我的决定:-P)。但是,当我这样做时,它给了我上面提到的错误(或者至少我猜错误必须在英语中读到这样的东西,我的版本是德语:D)。

以下是我在一个非常简单的例子中尝试做的事情:

Private Sub UserForm_Initialize()
   Print "Hello World!"
End Sub

按照教程,这应该将“Hello World”打印到即将初始化的表单的“表面”... 在帮助(F1)之后,它应该做的几乎相同......
但它没有;-)

任何人都知道我哪里错了?我不明白......

提前致谢和问候 吉拉拉斯

================================ UPDATE =========== =====================
该教程告诉我写

Print " a", "      b", "a*b", "a+b", "Int(a/b)"

这应该在表格上给我一个表格式的表达 甚至可以使用TextBox吗?

3 个答案:

答案 0 :(得分:4)

您需要在用于放置文本的用户表单中插入某种控件。例如。放置Caption类型的控件并将其命名为Caption1(在属性列表 F4 中)。

然后您可以使用以下内容指定值:

Me.Caption1 = "Hello world!"

或者,根据您的需要,您可以使用Debug.Print "Hello world!"在调试控制台中输出字符串(仅在开发期间有用) - 或使用MsgBox "Hello world!"向用户显示消息。在这种情况下,您根本不需要任何形式,只需要触发宏,例如来自Excel中的按钮。

答案 1 :(得分:1)

VBA与Win32应用程序不一样。 使用print是旧版本,现在不一样了。如果要在表面上打印某些内容,则必须添加一个要写入的内容。像...

将工具箱中的文本框(对象)添加到表单, 添加标签(对象) 然后您的文本框默认名称为Textbox1,标签默认名称为Label1

所以,在你的代码上:

Private Sub UserForm_Initialize()
   textbox1.text = "Hello World"
Label1.text = "Hello World"
End Sub

答案 2 :(得分:1)

您可以使用debug.print在即时窗口/控制台(ctr + g)中打印 http://www.cpearson.com/excel/DebuggingVBA.aspx