VBA Open Office Basic 转换麻烦
VBA to Open Office Basic convert trouble
您好,我正在尝试将此代码 rewrite\convert 转换为 VBScript。在 Excel 2013 年工作完美,但在 Open Office 中,无论我试图搜索什么,都会抛出没有数据(Nie znaleziono danych)。
VBA代码:
Sub Znajdz()
Dim szukane As Variant
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", vbOKOnly + vbExclamation,"Brak danych"
Exit Sub
End If
On Error GoTo blad
Cells.Find(What:=szukane, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Exit Sub
blad:
MsgBox "Nie znaleziono danych", vbOKOnly + vbInformation, "Brak wyników"
End Sub
我的 VBScript:
Sub Znajdz()
Dim szukane As Variant
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", vbOKOnly + vbExclamation, "Brak danych"
Exit Sub
End If
On Error GoTo blad
Cells.Find(What:=szukane, After:=ActiveCell, LookIn:=-4163, LookAt:= _
1, SearchOrder:=1, SearchDirection:=1, MatchCase:=False _
, SearchFormat:=False).Activate
Exit Sub
blad:
MsgBox "Nie znaleziono danych", vbOKOnly + vbInformation, "Brak wyników"
End Sub
帮帮我,我必须在 Open Office 中使用它作为宏
Open Office 不使用 VBA 或 VBScript 的宏,它使用 Open Office Basic。
OO Wiki给出了执行VBA宏的方法;也许值得一看?
我已尝试为您转换 - 试试这个?我手头没有 OO,所以无法测试它是否有效...
Sub Znajdz()
Dim szukane As String
Dim oCell As Object
dim index As long
Dim Find As Object
Dim oSheet As Object
oSheet = StarDesktop.CurrentComponent.Sheets(0)
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", MB_OK + MB_ICONEXCLAMATION, "Brak danych"
End
End If
oCell = oSheet.getCellByPosition(1,1)
index = oCell.CellAddress.Sheet
Find = oSheet.createSearchDescriptor
Find.setSearchString(szukane)
oCell = oSheet.FindFirst(Find)
If Not IsNull(oCell) Then
MsgBox "Found it at " & oCell.CellAddress.Column & oCell.CellAddress.Row
Else
MsgBox "Not Found!"
Endif
End Sub
您好,我正在尝试将此代码 rewrite\convert 转换为 VBScript。在 Excel 2013 年工作完美,但在 Open Office 中,无论我试图搜索什么,都会抛出没有数据(Nie znaleziono danych)。
VBA代码:
Sub Znajdz()
Dim szukane As Variant
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", vbOKOnly + vbExclamation,"Brak danych"
Exit Sub
End If
On Error GoTo blad
Cells.Find(What:=szukane, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Exit Sub
blad:
MsgBox "Nie znaleziono danych", vbOKOnly + vbInformation, "Brak wyników"
End Sub
我的 VBScript:
Sub Znajdz()
Dim szukane As Variant
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", vbOKOnly + vbExclamation, "Brak danych"
Exit Sub
End If
On Error GoTo blad
Cells.Find(What:=szukane, After:=ActiveCell, LookIn:=-4163, LookAt:= _
1, SearchOrder:=1, SearchDirection:=1, MatchCase:=False _
, SearchFormat:=False).Activate
Exit Sub
blad:
MsgBox "Nie znaleziono danych", vbOKOnly + vbInformation, "Brak wyników"
End Sub
帮帮我,我必须在 Open Office 中使用它作为宏
Open Office 不使用 VBA 或 VBScript 的宏,它使用 Open Office Basic。
OO Wiki给出了执行VBA宏的方法;也许值得一看?
我已尝试为您转换 - 试试这个?我手头没有 OO,所以无法测试它是否有效...
Sub Znajdz()
Dim szukane As String
Dim oCell As Object
dim index As long
Dim Find As Object
Dim oSheet As Object
oSheet = StarDesktop.CurrentComponent.Sheets(0)
szukane = InputBox("Wpisz szukane słowo", "Wyszukaj")
If szukane = "" Then
MsgBox "Nie wpisałeś nic w okienku Wyszukaj", MB_OK + MB_ICONEXCLAMATION, "Brak danych"
End
End If
oCell = oSheet.getCellByPosition(1,1)
index = oCell.CellAddress.Sheet
Find = oSheet.createSearchDescriptor
Find.setSearchString(szukane)
oCell = oSheet.FindFirst(Find)
If Not IsNull(oCell) Then
MsgBox "Found it at " & oCell.CellAddress.Column & oCell.CellAddress.Row
Else
MsgBox "Not Found!"
Endif
End Sub