Tuesday, September 18, 2007

Word of the Week (by VOA) part 1

"Kacau-balau" - "Messy"
"His life is such a mess, because he was fired last week and dumped by his girl friend yesterday"
Artinya:
"Hidupnya kacau-balau karena ia di PHK minggu lalu dan diputuskan oleh pacarnya kemaren".
Sumber http://www.voanews.com/Indonesian/index.cfm




Read More......

Monday, September 17, 2007

Make word automation by vfp (Using table in Word)

Sample to make word report in VFP usint table in microsoft word..

CLEAR
SET TALK OFF
SET CONSOLE OFF
DIMENSION woArray1(6), woArray2(6), woArray3(6)
STORE 1.17 TO woArray1(1)
STORE 0.16 TO woArray1(2)
STORE 0.29 TO woArray1(3)
STORE 0.75 TO woArray1(4)
STORE 3.56 TO woArray1(5)
STORE 0.94 TO woArray1(6)

STORE 0.70 TO woArray2(1)
STORE 2.81 TO woArray2(2)
STORE 0.38 TO woArray2(3)
STORE 1.12 TO woArray2(4)
STORE 1.13 TO woArray2(5)
STORE 0.74 TO woArray2(6)
oRow = 53 - oKeyEnter
oWord = CREATEOBJECT("Word.Application")
oWord.Documents.Add
owRange = oWord.Activedocument.Range()
woTable = oWord.Activedocument.Tables.Add(owRange, oRow, 6)

owRange.pagesetup.LeftMargin = oWord.InchesToPoints(1) && Margin kiri
owRange.pagesetup.RightMargin = oWord.InchesToPoints(0.50) && Margin Kanan
owRange.pagesetup.TopMargin = oWord.InchesToPoints(0.25) && Margin Atas
owRange.pagesetup.BottomMargin = oWord.InchesToPoints(0.50) && Margin Bawah
owRange.pagesetup.PaperSize = 7 && Menentukan ukuran kertas A4

** Setting table pertama
FOR i = 1 TO 6 && Row 1 s/d 6 disimpan dalan variabel i
FOR j = 1 to 32 && column 1 s/d 31 disimpan dalam variabel j
woTable.Cell[j, i].Width = oWord.InchesToPoints(woArray1(i)) && Pembentukan lebar row yg disimpan dalam arrray
ENDFOR
ENDFOR

** Setting table kedua
FOR k = 1 TO 6 && Row 1 s/d 6 disimpan dalan variabel k
FOR l = 33 to oRow && column 1 s/d 31 disimpan dalam variabel l
woTable.Cell[l, k].Width = oWord.InchesToPoints(woArray2(k))&& Pembentukan lebar row yg disimpan dalam arrray
ENDFOR
ENDFOR

** Start of heading


WITH woTable
.Cell(1, 6).Merge(woTable.Cell(4, 6))
oWord.Activedocument.Shapes.AddPicture("c:\temp\logo2.jpg")
.cell[1, 1].range.InsertAfter(ALLTRIM(M.OLD_PT_DES))
.Cell(1, 1).Merge(woTable.Cell(1, 5))
* .cell[1, 6].range.Shapes.AddPicture("c:\temp\logo2.jpg")
.Cell[1, 1].range.ParagraphFormat.Alignment = 1
.Cell[1, 1].range.Font.Name = "Optima"
.Cell[1, 1].range.Font.Size = 28
.Cell[1, 1].range.Font.Bold = 1

.cell[2, 1].range.InsertAfter("JLN. PENGADAIAN NO. 1101 BUKIT BESAR, PALEMBANG - INDONESIA")
.Cell(2, 1).Merge(woTable.Cell(2, 5))
.Cell[2, 1].range.ParagraphFormat.Alignment = 1
.Cell[2, 1].range.Font.Name = "Optima"
.Cell[2, 1].range.Font.Size = 9

.cell[3, 1].range.InsertAfter("Tel.(0711)878625(Hunting) - Fax(0711)854684")
.Cell(3, 1).Merge(woTable.Cell(3, 5))
.Cell[3, 1].range.ParagraphFormat.Alignment = 1
.Cell[3, 1].range.Font.Name = "Optima"
.Cell[3, 1].range.Font.Size = 9

.cell[5, 1].range.InsertAfter("SURAT KEPUTUSAN" )
.Cell(5, 1).Merge(woTable.Cell(5, 6))
.Cell[5, 1].range.ParagraphFormat.Alignment = 1
.Cell[5, 1].range.Font.Bold = 1
.Cell[5, 1].range.Font.UnderLine = 1

.cell[6, 1].range.InsertAfter("No. " + ALLTRIM(M.LETTER_ID))
.Cell(6, 1).Merge(woTable.Cell(6, 6))
.Cell[6, 1].range.ParagraphFormat.Alignment = 1

.cell[7, 1].range.InsertAfter("Tentang")
.Cell(7, 1).Merge(woTable.Cell(7, 6))
.Cell[7, 1].range.ParagraphFormat.Alignment = 1

.cell[9, 1].range.InsertAfter(ALLTRIM(M.LETTER_DES))
.Cell(9, 1).Merge(woTable.Cell(9, 6))
.Cell[9, 1].range.ParagraphFormat.Alignment = 1
.Cell[9, 1].Range.Font.Bold = 1

.cell[11, 1].range.insertAfter("Menimbang")
.cell[11, 2].range.InsertAfter(":")
.Cell[11, 4].Range.InsertAfter("Bahwa dalam rangka penyempurnaan organisasi perusahaan dan membenahi formasi tenaga kerja di " + ALLTRIM(m.new_ou_des) + " " + ALLTRIM(m.new_pt_des))
.Cell(11, 4).Merge(woTable.Cell(11, 6))
.Cell[11, 4].range.ParagraphFormat.Alignment = 3

.cell[13, 1].range.insertAfter("Mengigat dan Memperhatikan")
.cell[13, 2].range.InsertAfter(":")
.cell[13, 3].range.InsertAfter("1.")
.Cell[13, 4].Range.InsertAfter("Masa Kerja saudara (NIK. " + ALLTRIM(m.old_emp_num) + " di perusahaan sejak " + ALLTRIM(DTOC(m.join_dte)) + " dengan jabatan terakhir sebagai " + ALLTRIM(m.old_job_des) + " " + ALLTRIM(m.old_ou_des) + " " + ALLTRIM(m.old_pt_des))
.Cell(13, 4).Merge(woTable.Cell(13, 6))
.Cell[13, 4].range.ParagraphFormat.Alignment = 3

.cell[14, 3].range.InsertAfter("2.")
.Cell[14, 4].Range.InsertAfter("Syarat - syarat kerja yang dibutuhkan pada posisi/jabatan yang ada dikebun" + ALLTRIM(m.new_ou_des) + " " + ALLTRIM(m.new_pt_des))
.Cell(14, 4).Merge(woTable.Cell(14, 6))
.Cell[14, 4].range.ParagraphFormat.Alignment = 3

.cell[15, 3].range.InsertAfter("3.")
.Cell[15, 4].Range.InsertAfter("Usulan yang telah disetujui oleh manajemen")
.Cell(15, 4).Merge(woTable.Cell(15, 6))

.cell[17, 1].range.InsertAfter(ALLTRIM(m.letter_des1))
.Cell(17, 1).Merge(woTable.Cell(17, 6))
.cell[17, 1].range.paragraphFormat.Alignment = 1
.Cell(17, 1).Range.Font.Bold = 1

.cell[19, 1].range.insertAfter("Menetapkan")
.cell[19, 2].range.InsertAfter(":")
.Cell[19, 4].Range.InsertAfter("Terhitung mulai tanggal " + ALLTRIM(DTOC(mutasi_dte)))
.Cell(19, 4).Merge(woTable.Cell(19, 6))

.cell[20, 4].range.insertAfter("Saudara")
.cell[20, 5].range.InsertAfter(": " + ALLTRIM(m.emp_nme))

.cell[21, 4].range.insertAfter("NIK")
.cell[21, 5].range.InsertAfter(": " + ALLTRIM(m.new_emp_num))

.cell[23, 1].range.InsertAfter(ALLTRIM(m.letter_des2))
.Cell(23, 1).Merge(woTable.Cell(23, 6))
.cell[23, 1].range.paragraphFormat.Alignment = 1
.Cell(23, 1).Range.Font.Bold = 1

.cell[24, 4].range.insertAfter("Ke")
.cell[24, 5].range.InsertAfter(": " + ALLTRIM(m.new_ou_des))

.cell[25, 4].range.insertAfter("Jabatan")
.cell[25, 5].range.InsertAfter(": " + ALLTRIM(m.new_job_des))

.cell[27, 4].range.insertAfter("Tunjangan - tunjangan dan jaminan sosial diberikan sesuai dengan ketentuan peraturan perusahaan yang berlaku")
.Cell(27, 4).Merge(woTable.Cell(27, 6))
.Cell[27, 4].range.ParagraphFormat.Alignment = 3

.cell[29, 4].range.insertAfter("Keputusan ini berlaku terhitung mulai tanggal " + ALLTRIM(DTOC(m.mutasi_dte)) + " dan apabila dikemudian hari ternyata terdapat kekeliruan, akan diubah sebagai mana mestinya")
.Cell(29, 4).Merge(woTable.Cell(29, 6))
.Cell[29, 4].range.ParagraphFormat.Alignment = 3

.cell[33, 4].range.insertAfter("Dikeluarkan di")
.cell[33, 5].range.insertAfter(": Palembang")

.cell[34, 4].range.insertAfter("Pada tanggal")
.cell[34, 5].range.insertAfter(": " + ALLTRIM(DTOC(m.letter_dte)))

.cell[35, 4].range.insertAfter(ALLTRIM(m.old_pt_des))
.Cell(35, 4).Merge(woTable.Cell(35, 5))
.cell[35, 4].range.font.bold = 1

.cell[40, 4].range.insertAfter(ALLTRIM(m.rec_nme))
.Cell(40, 4).Merge(woTable.Cell(40, 5))
.cell[40, 4].range.font.bold = 1
.cell[40, 4].range.font.underline = 1

.cell[41, 4].range.insertAfter(ALLTRIM(m.jab_des))
.Cell(41, 4).Merge(woTable.Cell(41, 5))
.cell[41, 4].range.font.bold = 1

.Cell[42, 1].Range.InsertAfter("c.c : ")
.cell[42, 2].range.insertAfter(ALLTRIM(m.letter_cc1))

.cell[44, 1].range.insertAfter(ALLTRIM(m.initi))
.Cell(44, 1).Merge(woTable.Cell(44, 2))

.cell[oRow - 1, 1].range.InsertAfter("isikan footer anda ke 1")
.Cell(oRow - 1, 1).Merge(woTable.Cell(oRow - 1,6))
.Cell[oRow - 1, 1].range.ParagraphFormat.Alignment = 1
.Cell[oRow - 1, 1].range.Font.Name = "Optima"
.Cell[oRow - 1, 1].range.Font.Size = 8

.cell[oRow, 1].range.InsertAfter("
isikan footer anda ke 2")
.Cell(oRow, 1).Merge(woTable.Cell(oRow,6))
.Cell[oRow, 1].range.ParagraphFormat.Alignment = 1
.Cell[oRow, 1].range.Font.Name = "Optima"
.Cell[oRow, 1].range.Font.Size = 8


ENDWITH

WITH oWord
For Each aTable In .ActiveDocument.Tables && Format all tables.
aTable.Borders(-1).LineStyle = 0 && Top border.
aTable.Borders(-2).LineStyle = 0 && LeftaTable.Borders(-3).LineStyle = 1 && Bottom
aTable.Borders(-4).LineStyle = 0 && Right
aTable.Borders(-5).LineStyle = 0 && Horizontal
aTable.Borders(-6).LineStyle = 0 && Vertical
aTable.Borders.Shadow = 0
ENDFOR
ENDWITH

oFile = "c:\temp\" + LEFT(ALLTRIM(m.letter_id), 3) + " " + ALLTRIM(m.letter_des) + " " + RIGHT(ALLTRIM(m.letter_id), 4) + ".doc"
oWord.ActiveDocument.SaveAs(oFile)
MESSAGEBOX("Data telah diconvert ke Word cek di c:\temp\" + LEFT(ALLTRIM(m.letter_id), 3) + " " + ALLTRIM(m.letter_des) + " " + RIGHT(ALLTRIM(m.letter_id), 4) + ".doc")
oWord.Quit()
release owRange, oWord

Read More......

Make word automation by vfp

Make the word report by VFP.... (Hope can be help others)

oWord = CREATEOBJECT("Word.Application")
oWord.Documents.Add
owRange = oWord.Activedocument.Range()
oWord.Selection.TypeText(CHR(13))
woTable = oWord.Activedocument.Tables.Add(owRange, 5, 5)
oWord.Selection.Font.Reset

oWord.Selection.TypeText("PT SAMPOERNA AGRO Tbk")
oWord.Selection.SelectRow
oWord.Selection.ParagraphFormat.Alignment = 1
oWord.Selection.Font.Name = "Arial"
oWord.Selection.Font.Size = 30
oWord.Selection.Font.Bold = .T.
oWord.Selection.SelectRow
oWord.Selection.Cells.Merge
oWord.Selection.MoveRight(12)

WITH oWord
For Each aTable In .ActiveDocument.Tables && Format all tables.
aTable.Borders(-1).LineStyle = 1 && Top border.
aTable.Borders(-2).LineStyle = 1 && Left
aTable.Borders(-3).LineStyle = 1 && Bottom
aTable.Borders(-4).LineStyle = 1 && Right
aTable.Borders(-5).LineStyle = 1 && Horizontal
aTable.Borders(-6).LineStyle = 1 && Vertical
aTable.Borders.Shadow = 0
ENDFOR
ENDWITH
oword.activedocument.SaveAs("c:\temp\8160.doc")
loRange.InsertAfter("JALAN BASUKI RAHMAT NO. 788 PALEMBANG 30127, SUMATERA SELATAN - INDONESIA")
loRange.Paragraphs(2).Range.InsertParagraphafter
loRange.Paragraphs(2).Range.FONT.SIZE = 11
loRange.Paragraphs(2).Range.FONT.BOLD = 0
loRange.Paragraphs(2).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(2).space1

loRange.InsertAfter("Tel.(0711)813388(Hunting) - Fax(0711)811585")
loRange.Paragraphs(3).Range.InsertParagraphafter
loRange.Paragraphs(3).Range.FONT.SIZE = 10
loRange.Paragraphs(3).Range.FONT.BOLD = 0
loRange.Paragraphs(3).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(3).space1

loRange.InsertAfter("_____________________________________________________________________________________")
loRange.Paragraphs(4).Range.InsertParagraphafter
loRange.Paragraphs(4).Range.FONT.SIZE = 10
loRange.Paragraphs(4).Range.FONT.BOLD = 0
loRange.Paragraphs(4).Range.FONT.UNDERLINE = 1
loRange.Paragraphs(4).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(4).space1

loRange.InsertAfter("SURAT KEPUTUSAN")
loRange.Paragraphs(5).Range.InsertParagraphafter
loRange.Paragraphs(5).Range.FONT.SIZE = 16
loRange.Paragraphs(5).Range.FONT.BOLD = 1
loRange.Paragraphs(5).Range.FONT.UNDERLINE = 1
loRange.Paragraphs(5).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(5).space1

loRange.InsertAfter("No. 032/HRD/SK/M/VII/2007")
loRange.Paragraphs(6).Range.InsertParagraphafter
loRange.Paragraphs(6).Range.FONT.SIZE = 12
loRange.Paragraphs(6).Range.FONT.BOLD = 0
loRange.Paragraphs(6).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(6).space1

loRange.InsertAfter("Tentang")
loRange.Paragraphs(7).Range.InsertParagraphafter
loRange.Paragraphs(7).Range.FONT.SIZE = 11
loRange.Paragraphs(7).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(7).space1

loRange.InsertAfter("MUTASI STAF")
loRange.Paragraphs(8).Range.InsertParagraphafter
loRange.Paragraphs(8).Range.FONT.SIZE = 14
loRange.Paragraphs(8).Range.FONT.BOLD = 1
loRange.Paragraphs(8).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(8).space1

loRange.InsertAfter(" ")
loRange.Paragraphs(9).Range.InsertParagraphafter
loRange.Paragraphs(9).Range.FONT.SIZE = 12
loRange.Paragraphs(9).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(9).space1

loRange.InsertAfter("Menimbang"+ CHR(9))
loRange.InsertAfter(":" + CHR(9))
loRange.InsertAfter(" Bahwa dalam rangka penyempurnaan organisasi perusahaan dan membenahi formasi tenaga kerja di Kebun Himah IV PT TELAGA HIKMAH")
loRange.Paragraphs(10).Range.InsertParagraphafter
loRange.Paragraphs(10).Range.FONT.SIZE = 12
loRange.Paragraphs(10).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(10).space1
*loRange.Paragraphs(10).TabHangingIndent(0.10)


loRange.InsertAfter(" ")
loRange.Paragraphs(11).Range.InsertParagraphafter
loRange.Paragraphs(11).Range.FONT.SIZE = 12
loRange.Paragraphs(11).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(11).space1

loRange.InsertAfter("Mengingat dan : ")
loRange.InsertAfter("1. Masa kerja saudara(NIK SA.GJBL.SA029) diperusahaan sejak 01/02/2007 dengan jabatan terakhir sebagai ASISTEN LAPANGAN KEBUN GADING JAYA PT SAMPOERNA AGRO Tbk")
loRange.Paragraphs(12).Range.InsertParagraphafter
loRange.Paragraphs(12).Range.FONT.SIZE = 12
loRange.Paragraphs(12).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(12).space1
loRange.Paragraphs(12).TabHangingIndent(2.51)

loRange.InsertAfter("2. Syarat-syarat kerja yang dibutuhkan pada posisi/jabatan yang ada di kebun Hikmah IV PT Telaga Hikmah")
loRange.Paragraphs(13).Range.InsertParagraphafter
loRange.Paragraphs(13).Range.FONT.SIZE = 12
loRange.Paragraphs(13).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(13).space1
loRange.Paragraphs(13).TabIndent(2)
*loRange.Paragraphs(13).TabHangingIndent(2.51)

loRange.InsertAfter("3. Usulan yang telah disetujui manajemen")
loRange.Paragraphs(14).Range.InsertParagraphafter
loRange.Paragraphs(14).Range.FONT.SIZE = 12
loRange.Paragraphs(14).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(14).space1
loRange.Paragraphs(14).TabIndent(2)
*loRange.Paragraphs(14).TabHangingIndent(2.51)

loRange.InsertAfter(" ")
loRange.Paragraphs(15).Range.InsertParagraphafter
loRange.Paragraphs(15).Range.FONT.SIZE = 12
loRange.Paragraphs(15).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(15).space1

loRange.InsertAfter("MEMUTUSKAN")
loRange.Paragraphs(16).Range.InsertParagraphafter
loRange.Paragraphs(16).Range.FONT.SIZE = 12
loRange.Paragraphs(16).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(16).space1

loRange.InsertAfter(" ")
loRange.Paragraphs(17).Range.InsertParagraphafter
loRange.Paragraphs(17).Range.FONT.SIZE = 12
loRange.Paragraphs(17).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(17).space1

loRange.InsertAfter("Menetapkan : Terhitung mulai tanggal 01/08/2007")
loRange.Paragraphs(18).Range.InsertParagraphafter
loRange.Paragraphs(18).Range.FONT.SIZE = 12
loRange.Paragraphs(18).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(18).space1

loRange.InsertAfter("Saudara : FERRY KURNIAWAN")
loRange.Paragraphs(19).Range.InsertParagraphafter
loRange.Paragraphs(19).Range.FONT.SIZE = 12
loRange.Paragraphs(19).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(19).space1

loRange.InsertAfter("NIK : TH.H4BL.S002")
loRange.Paragraphs(20).Range.InsertParagraphafter
loRange.Paragraphs(20).Range.FONT.SIZE = 12
loRange.Paragraphs(20).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(20).space1

loRange.InsertAfter(" ")
loRange.Paragraphs(21).Range.InsertParagraphafter
loRange.Paragraphs(21).space1

loRange.InsertAfter("DI MUTASIKAN")
loRange.Paragraphs(22).Range.InsertParagraphafter
loRange.Paragraphs(22).Range.FONT.SIZE = 12
loRange.Paragraphs(22).Range.ParagraphFormat.Alignment = 1
loRange.Paragraphs(22).space1

loRange.InsertAfter("KE : KEBUN HIKMAH IV")
loRange.Paragraphs(23).Range.InsertParagraphafter
loRange.Paragraphs(23).Range.FONT.SIZE = 12
loRange.Paragraphs(23).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(23).space1
loRange.Paragraphs(23).TabIndent(2)


loRange.InsertAfter("Jabatan : ASISTEN LAPANGAN")
loRange.Paragraphs(24).Range.InsertParagraphafter
loRange.Paragraphs(24).Range.FONT.SIZE = 12
loRange.Paragraphs(24).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(24).space1
loRange.Paragraphs(24).TabIndent(2)

loRange.InsertAfter(" ")
loRange.Paragraphs(25).Range.InsertParagraphafter
loRange.Paragraphs(25).space1

loRange.InsertAfter("Tunjangan - tunjangan dan jaminan sosial diberikan dengan ketentuan peraturan perusahaan yang berlaku")
loRange.Paragraphs(26).Range.InsertParagraphafter
loRange.Paragraphs(26).Range.FONT.SIZE = 12
loRange.Paragraphs(26).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(26).space1
loRange.Paragraphs(26).TabIndent(2)

loRange.InsertAfter(" ")
loRange.Paragraphs(27).Range.InsertParagraphafter
loRange.Paragraphs(27).space1

loRange.InsertAfter("Keputusan ini berlaku terhitung mulai tanggal 01/08/2007 dan apabila dikemudian hari ternyata terdapat kekeliruan, akan diubah sebagai mana mestinya.")
loRange.Paragraphs(28).Range.InsertParagraphafter
loRange.Paragraphs(28).Range.FONT.SIZE = 12
loRange.Paragraphs(28).Range.ParagraphFormat.Alignment = 0
loRange.Paragraphs(28).space1
loRange.Paragraphs(28).TabIndent(2)
loWord.activedocument.SaveAs("c:\temp\8160.doc")


loWord.PrintOut() && langsung print ke printer secara otomatis
loWord.Quit()
release loRange, loWord

Read More......