相关疑难解决方法(0)

从VB.NET传递值到excel输入框

我试图在一些具有一些宏的Excel工作表上自动化数据填充.现在excel受到保护,我无法获得密钥.现在我能够运行宏,但是当我尝试传递参数时,我得到的参数不匹配.

如果我只是运行带有名称的宏,我得到inputbox一个额外的参数作为输入,并自动生成列的一些值.我必须手动输入此值到inputbox现在.有没有什么方法可以自动化该过程,即捕获vb.net脚本中的宏抛出的输入框并从那里输入值?即,我想运行宏,并在我得到弹出窗口要求我输入一些值后,使用vb.net代码输入该弹出窗口的值.

这就是我现在所拥有的

Public Class Form1
    Dim excelApp As New Excel.Application
    Dim excelWorkbook As Excel.Workbook
    Dim excelWorkSheet As Excel.Worksheet

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        excelWorkbook = excelApp.Workbooks.Open("D:/excelSheets/plan_management_data_templates_network.xls")
        excelApp.Visible = True

        excelWorkSheet = excelWorkbook.Sheets("Networks")

        With excelWorkSheet
            .Range("B7").Value = "AR"
        End With

        excelApp.Run("createNetworks")
        // now here I would like to enter the value into the createNetworks Popup box
        excelApp.Quit()
        releaseObject(excelApp)
        releaseObject(excelWorkbook)
    End Sub
Run Code Online (Sandbox Code Playgroud)

宏定义

createNetworks()
//does so basic comparisons on existing …
Run Code Online (Sandbox Code Playgroud)

vb.net excel vba excel-vba excel-automation

11
推荐指数
1
解决办法
5492
查看次数

钩入VBE窗口的子类SysTreeView32

虽然熟悉VBA,但我对WinApi调用很新.我想要做的是挂钩到VBE窗口的子类SysTreeView32(Project Explorer TreeView).我想通过修改注册表项来扩展/折叠树视图元素(或者发送鼠标单击(mouse_event),尽管我更喜欢第一个选项).
我可以使用以下代码找到Excel主窗口:

Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
              (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub Find_Window()
    Dim hWndExcel As Long
    hWndExcel = FindWindow("XLMAIN", Application.Caption)
    MsgBox hWndExcel
End Sub
Run Code Online (Sandbox Code Playgroud)

Window Detective的帮助下,我可以访问子类的名称,属性等.
Window Detective儿童班
但我无法解决如何访问/激活(甚至返回HWID)SysTreeView32子类以折叠/展开元素(文件夹).我不知道如何迭代元素,但我会在之后研究它.这里的问题是访问SysTreeView32课程.我怎样才能实现它?

当我尝试MSGBOX这
FindWindow("wndclass_desked_gsk", Application.Caption)
还是
FindWindow("SysTreeView32", Application.Caption)
一个0返回所以我明明做错了什么:/
谢谢你的时间.

api winapi vba parent-child

2
推荐指数
1
解决办法
1711
查看次数

标签 统计

vba ×2

api ×1

excel ×1

excel-automation ×1

excel-vba ×1

parent-child ×1

vb.net ×1

winapi ×1