根据文档

时间:2016-12-17 02:12:04

标签: vba combobox ms-word word-vba bookmarks

我是vba的新手,我一直在为我的Word文档制作一个用户表单。我正在尝试使某个组合框根据文档本身中的书签文本选择其中一个项目。我正在使用if语句来检查书签的文本,如果匹配,它应该将组合框的所选项目更改为我选择的项目。我对vba知之甚少,而且我无法使用它。我不确定我哪里出错了。这是我的代码。

Private Sub UserForm_Initialize()

    Me.cbxShipFrom.AddItem ("My Company")
    Me.cbxShipFrom.AddItem ("Warehouse")
    Me.cbxShipFrom.AddItem ("Warehouse 2")
    Me.cbxShipFrom.AddItem ("Other...")

    If ActiveDocument.Bookmarks("shipfrom").Range.Text = "MY COMPANY" & vbCrLf & "123 BEETLE ST" & vbCrLf & "MYCITY, ST xZIPx" Then
        Me.cbxShipFrom.Value = Me.cbxShipFrom.ListIndex(0)
    End If

End Sub

1 个答案:

答案 0 :(得分:0)

您必须使用static Scanner read = new Scanner(System.in); public static void main(String[] args) { double[] array = new double[5]; System.out.println("enter number"); //for loop to fill array for (int i = 0; i < array.length; i++) { array[i] = read.nextDouble(); } double max1 = 0; //for loop to find first max value for (int i = 0; i < array.length; i++) { if (array[i] > max1) { max1 = array[i]; } } double max2 = 0; //for loop to find second max value for (int i = 0; i < array.length; i++) { if (array[i] > max2 && array[i] != max1) { max2 = array[i]; } } System.out.println("the product of two most maximum value is " + (max1 * max2)); // the product of two max value // end main } 代替CHR(13)

此外:

vbCrLf

不是有效表达式,因为ListIndex属性返回整数而不是数组

你最有可能想要使用:

Me.cbxShipFrom.ListIndex(0)

并返回组合框列表的第一个元素

最后,您可能希望使用以下代码重构:

Me.cbxShipFrom.List(0)