小编Jim*_*ket的帖子

使用VBA循环使用XML

我正在尝试使用VBA循环使用以下简单的XML,最终目标是能够轻松地按顺序提取数据.

<?xml version="1.0"?> 
      <PMRData> 
        <Staff StaffName="Person 1"> 
          <Openings>1.1</Openings> 
          <Closures>1.11</Closures> 
        </Staff> 
        <Staff StaffName="Person 2"> 
          <Openings>1.2</Openings> 
          <Closures>1.22</Closures> 
        </Staff> 
        <Staff StaffName="Person 3"> 
          <Openings>1.3</Openings> 
          <Closures>1.33</Closures> 
        </Staff> 
      </PMRData>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的代码设法将数据导入立即窗口,但不是按照我需要的顺序.它应该是:员工姓名Person1开口1.1关闭1.11员工姓名人员2开口2.2关闭2.22等

意思是我需要使我的递归函数具体,而不是为所有节点循环.任何帮助将不胜感激!这就是我到目前为止......

Dim xDoc As DOMDocument
Set xDoc = New DOMDocument
Dim xNode As IXMLDOMNode
Dim xElem As IXMLDOMElement
Dim xElemCount As Integer
Dim xSub As IXMLDOMElement
Dim Nodes As IXMLDOMNodeList
        Set xElem = xDoc.SelectSingleNode("//PMRData")
        Range("a1").Select
        xElemCount = xElem.ChildNodes.Length
        Debug.Print "xElem has " & xElemCount & " Nodes"
        For Each xSub In xElem.ChildNodes
            If xSub.Attributes.Length > 0 …
Run Code Online (Sandbox Code Playgroud)

xml vba msxml loops nodes

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

WPF DataGrid绑定到string.Length而不是字符串文本

我是WPF的新手,我真的想尽可能地弄清楚自己...

我已经创建了我的第一个DataGrid控件,我试图用一个字符串列表填充它,如下所示:

<UserControl x:Class="DataGridTest"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid Style="{StaticResource ContentRoot}">
        <DataGrid Name="MyDataGrid" ItemsSource="{Binding}" HorizontalAlignment="Stretch" Height="500"/>
    </Grid>
</UserControl>

Private Sub DataGridTest_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
        Dim StringCollection As List(Of String) = New List(Of String)
        StringCollection.Add("Test")
        StringCollection.Add("Test1")
        StringCollection.Add("Test2")
        StringCollection.Add("Test3")
        StringCollection.Add("Test4")
        MyDataGrid.DataContext = StringCollection

    End Sub
Run Code Online (Sandbox Code Playgroud)

但是,它实际上填充了标题"长度",值为字符串的长度.为什么它本身没有填充字符串值?

很明显,我在这里缺少一些基本的东西,但我不能为我的生活弄清楚它是什么.

提前致谢!

vb.net wpf binding datagrid

6
推荐指数
1
解决办法
3626
查看次数

创建一个类来处理访问表单控制事件

我正在尝试创建一个类来处理 Access 中的多个控制事件。这是为了避免重复键入多行相同的代码。

我已遵循下一页上的答案,但进行了一些调整以使其适合 Access 而不是 Excel。

如何为多个按钮分配一个通用的程序?

我的班级代码如下:

Option Compare Database

Public WithEvents ct As Access.CommandButton 'Changed object type to something recognised by Access

Public Sub ct_Click()
    MsgBox ct.Name & " clicked!"
End Sub
Run Code Online (Sandbox Code Playgroud)

我的表单代码如下:

Option Compare Database
Private listenerCollection As New Collection
Private Sub Form_Load()
Dim ctItem
Dim listener As clListener

For Each ctItem In Me.Controls
    If ctItem.ControlType = acCommandButton Then 'Changed to test whether control is a Command Button
        Set listener = New clListener
        Set listener.ct = …
Run Code Online (Sandbox Code Playgroud)

events ms-access vba class commandbutton

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

vba ×2

binding ×1

class ×1

commandbutton ×1

datagrid ×1

events ×1

loops ×1

ms-access ×1

msxml ×1

nodes ×1

vb.net ×1

wpf ×1

xml ×1