Доброе время суток.
Помогите пожалуйста переделать макрос под OpenOffice
Макрос в листе 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim good, tmparr, pos%
If Intersect(Target, Range("B2:B100")) Is Nothing Or Target.Rows.Count > 1 Then Exit Sub
If Target.Value = "" Then UsedRange.Rows(Target.Row).Offset(, 2).ClearContents: Exit Sub
Application.EnableEvents = False
good = Split(Trim$(Target)): Target(1, 8) = ""
If UBound(good) Then Target(1, 8) = good(1)
pos = InStr(1, basatxt, good(0), 1)
If pos Then
tmparr = Split(Mid$(Replace(basatxt, vbNewLine, "|"), pos + 1), "|")
Target(1, 2) = tmparr(1)
Target(1, 3) = tmparr(2)
Target(1, 7) = tmparr(3)
Target(1, 11) = tmparr(4)
Target(1, 12) = tmparr(5)
Target(1, 13) = tmparr(6)
Target(1, 17) = tmparr(7)
Target(1, 18) = tmparr(8)
Target(1, 19) = tmparr(9)
Target(1, 20) = tmparr(10)
Target(1, 21) = tmparr(11)
Target(1, 22) = tmparr(12)
Target(1, 23) = tmparr(13)
Target(1, 24) = tmparr(14)
Target(1, 25) = tmparr(15)
Target(1, 26) = tmparr(16)
Target(1, 27) = tmparr(17) & Target(1, 8)
Target(1, 34) = tmparr(18)
Target(1, 37) = tmparr(19)
Target(1, 38) = tmparr(20)
Target(1, 39) = tmparr(21)
Target(1, 40) = tmparr(22)
Else
MsgBox Target & " in basa.txt not found!", vbExclamation
End If
If brandtxt <> "" Then
With Target(1, 9).Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=Brand"
End With
End If
With Target(1, 14).Resize(, 2)
.Value = Now
.NumberFormat = "yyyy-mm-dd hh:mm:ss"
End With
With Target(1, 16)
.Value = Now
.NumberFormat = "yyyy-mm-dd"
End With
Cells(Target.Row, "AC").Resize(, 5).FormulaR1C1 = "=RC2 & "" "" & RC10"
Application.EnableEvents = True
End Sub
Макрос "эта книга"
Const basa$ = "basa.txt", brand$ = "brand.txt"
Private Sub Workbook_Open()
Dim txtfile, Path$, fso As Object
Set fso = CreateObject("scripting.filesystemobject")
Path = ThisWorkbook.Path & "\"
For Each txtfile In Array(basa, brand)
If Not fso.fileExists(Path & txtfile) Then MsgBox "File " & txtfile & " not found!", vbExclamation: Exit Sub
Next
With fso.OpenTextFile(Path & basa)
basatxt = .ReadAll
.Close
End With
With fso.OpenTextFile(Path & brand)
brandtxt = Replace(.ReadAll, vbNewLine, ",")
.Close
End With
End Sub
Макрос "Модуль1"
Public basatxt$, brandtxt$
Заранее спасибо!!!