【问题标题】:LibreOffice Dialog Not working as intendedLibreOffice 对话框未按预期工作
【发布时间】:2015-12-28 09:15:01
【问题描述】:

我自己一直在尝试这样做,但我只是不知道如何定义问题。我一直在为 LibreOffice 编写一个宏,它包含几个对话框。当我运行宏时,我想在对话框可见后执行一个函数。我找不到解决方案,所以我制作了另一个只显示“正在加载,等待...”的对话框,并在该函数的开头和结尾插入了 dialog.Execute() 和 dialog.endExecute()。我猜程序会在 .execute() 处停止,如果我在角落按“X”,程序会正常继续,我会卡在“正在加载,等待...”标志。

如果我可以在对话框可见后运行一个函数,则最好的解决方案是。那么有什么触发器吗?

【问题讨论】:

    标签: vba dialog libreoffice


    【解决方案1】:

    您可以加载对话框并使其可见,但这不会激活功能(按钮等),因为这是 execute 所做的

    ' StarBasic
    ' Tools
    With GlobalScope.BasicLibraries
       If ( Not .isLibraryLoaded("Tools") ) Then
         .LoadLibrary( "Tools" )
       End If
    End With 
    
    sampleDialog = LoadDialog( "Standard", "Dialog1")
    
    sampleDialog.setVisible(TRUE) 
    

    这对你有帮助吗?

    【讨论】:

    • 我很担心它,但它仍然没有做我需要它做的事情,我需要在对话框弹出后立即执行我编写的特定功能。就像在 excel 中一样,有一个 OnExecute() 函数,它会在程序启动后立即运行。
    • 我不知道这样的功能,我认为你必须重建它,使用setVisible(如上所示),然后运行你需要的任何东西,最后execute对话框
    • 我想通了! ...我忘了在框外思考;)我更改了对话框,因此所有对话框都被禁用,并且在功能运行后用巨大的红色字母写了“加载”我启用了所有内容并将加载更改为就绪,运行执行,就是这样:)谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 2019-09-24
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    相关资源
    最近更新 更多