Showing posts with label OOBASIC. Show all posts
Showing posts with label OOBASIC. Show all posts

Thursday, September 23, 2010

OpenOfficeBASIC (OOBasic) 중에서 환자 리스트 정리 루틴

상당히 오래 전에 만든 허접 코드이다.
만들었다기 보다는, 마크로 기록을 그대로 모사해 놓은 허접본...

비망록 차원에서 기록해 둔다.
의사랑2000 원무과 프로그램에서 생성된 excel file을 OO로 가져온 것으로 한다.
(이 OOBasic의 실행은 AHK를 통해 처리하였다.)


REM ***** BASIC *****





sub myPtListArranger
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "By"
args4(0).Value = 1
args4(1).Name = "Sel"
args4(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
args5(1).Name = "Sel"
args5(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteColumns", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())

rem ----------------------------------------------------------------------
dim args31(0) as new com.sun.star.beans.PropertyValue
args31(0).Name = "ColumnWidth"
args31(0).Value = 3070

dispatcher.executeDispatch(document, ".uno:ColumnWidth", "", 0, args31())

rem ----------------------------------------------------------------------
dim args32(1) as new com.sun.star.beans.PropertyValue
args32(0).Name = "By"
args32(0).Value = 1
args32(1).Name = "Sel"
args32(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args32())

rem ----------------------------------------------------------------------
dim args33(1) as new com.sun.star.beans.PropertyValue
args33(0).Name = "By"
args33(0).Value = 1
args33(1).Name = "Sel"
args33(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args33())

rem ----------------------------------------------------------------------
dim args34(0) as new com.sun.star.beans.PropertyValue
args34(0).Name = "ColumnWidth"
args34(0).Value = 2890

dispatcher.executeDispatch(document, ".uno:ColumnWidth", "", 0, args34())

rem ----------------------------------------------------------------------
dim args35(1) as new com.sun.star.beans.PropertyValue
args35(0).Name = "By"
args35(0).Value = 1
args35(1).Name = "Sel"
args35(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args35())

rem ----------------------------------------------------------------------
dim args36(0) as new com.sun.star.beans.PropertyValue
args36(0).Name = "ColumnWidth"
args36(0).Value = 3010

dispatcher.executeDispatch(document, ".uno:ColumnWidth", "", 0, args36())

rem ----------------------------------------------------------------------
dim args37(1) as new com.sun.star.beans.PropertyValue
args37(0).Name = "By"
args37(0).Value = 1
args37(1).Name = "Sel"
args37(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args37())

rem ----------------------------------------------------------------------
dim args38(1) as new com.sun.star.beans.PropertyValue
args38(0).Name = "By"
args38(0).Value = 1
args38(1).Name = "Sel"
args38(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args38())

rem ----------------------------------------------------------------------
dim args39(1) as new com.sun.star.beans.PropertyValue
args39(0).Name = "By"
args39(0).Value = 1
args39(1).Name = "Sel"
args39(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args39())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())

rem ----------------------------------------------------------------------
dim args41(2) as new com.sun.star.beans.PropertyValue
args41(0).Name = "URL"
args41(0).Value = "file:///C:/Documents%20and%20Settings/shaegis/%EB%B0%94%ED%83%95%20%ED%99%94%EB%A9%B4/adm.csv"
args41(1).Name = "FilterName"
args41(1).Value = "Text - txt - csv (StarCalc)"
args41(2).Name = "FilterOptions"
args41(2).Value = "44,34,62,1"

dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args41())


end sub

Sunday, October 18, 2009

OpenOffice Calc 등록번호를 문자열에서 숫자로 변환

rem -------------------------------------------------------
rem MyScript: Convert PtNumberString to PtNumberValue
rem -------------------------------------------------------

oDoc = ThisComponent
oSheet = oDoc.getSheets().getByIndex(0)

i = 0
Do Until (oSheet.getCellByPosition(0, i).String = "")
oSheet.getCellByPosition(0, i).Value = oSheet.getCellByPosition(0, i).String
i = i + 1
Loop


나머지 부분은 Macro 기록 기능으로 자동으로 만들었음. IsBlank함수를 사용하고 싶었으나 잘 되지 않아, 엑셀의 그것을 흉내냄(엑셀에는 IsBlank가 없는 것으로 알고 있음).