21-06-21, 08:14 PM
اولا يجب ان تدخل فى Reverenc تلك المكتبات اخى الكريم
1MSwordDllFiles.dl و Interop.Microsoft.Office.Core.dll
ثم تضيف هذا الفنكشن فى الفورم
ملحوظه
RN.dotx هذا اسم ملف الورد ويتم حفظه كقالب وورد
1MSwordDllFiles.dl و Interop.Microsoft.Office.Core.dll
ثم تضيف هذا الفنكشن فى الفورم
كود :
Public Sub Print()
Try
'--------------------------------------------------------------
' مهم جداً أن تستدعي هذا الأمر قبل كتابة أي سطر برمجي يخص الطباعة
MSO.SetDllFiles()
'--------------------------------------------------------------
Dim MyWord As MSO.MSWord
MyWord = New MSO.MSWord(Me)
Dim TemplatePath As String = My.Application.Info.DirectoryPath & "\RN.dotx"
Dim TemplateInfo As New MSO.TemplateInfo(TemplatePath)
With TemplateInfo
'-------------------------------------
.Caption = " "
.PrintJob = GetPrintableJob()
With .ViewOptions
'-------------------------------------
.ShowBookmarks = False
.ShowTableGridlines = False
.ArabicNumeral = MSO.Enums.MSArabicNumeral.NumeralContext
.DisplayPageBoundaries = True
.NormalViewDisplayRulers = True
.ViewType = MSO.Enums.MSViewType.PrintPreview
.WindowState = MSO.Enums.MSWindowState.Maximize
.NormalViewZoomPageFit = MSO.Enums.MSPageFit.PageFitBestFit
.NormalViewZoomPercentage = Nothing
'------------------------
.PrintPreviewDisplayRulers = True
.PrintPreviewPageFitness = New MSO.PrintPreviewPageFitness(0, 0)
.PrintPreviewZoomPageFit = MSO.Enums.MSPageFit.PageFitBestFit
.PrintPreviewZoomPercentage = Nothing
'-------------------------------------
End With
End With
MyWord.AddNewTemplateInfo(TemplateInfo)
'---------------------------------------
'MyWord.PrintOut()
MyWord.PrintPreview()
Catch ex As Exception
MSO.PrintingProcess.ShowErrorMsgAndClose(ex.Message)
End Try
End Sub
'************* دالة خاصة بالطباعة ***********
Private Function GetPrintableJob() As MSO.Printing.PrintJob
Dim PrintJob As New MSO.Printing.PrintJob
With PrintJob
'============ طباعه راس الفاتوره ==============================
'--------------------- Table 2 That Exist In Word Document ------------------
.AddText(KASHF_CODE.Text, "KASHF_ID")
.AddText(KASH_DATE.Value.Date, "KASH_DATE")
.AddText(SIK_NAME.Text, "SIK_NAME")
.AddText(SIK_AGE.Text, "SIK_AGE")
.AddText(doc_name.Text, "doc_name")
.AddText(DOC_TAKHSOS.Text, "DOC_TAKHSOS")
.AddText(HARARA_.Text, "HARARA_")
.AddText(DAKHT_.Text, "DAKHT_")
.AddText(NABD_.Text, "NABD_")
'.AddText(item_count.Text, "item_count")
'.AddText(TAX_value.Text, "TAX_value")
'.AddText(TAX_TOTAL.Text, "TAX_TOTAL")
'.AddText(DISCOUNT_value.Text, "DISCOUNT_value")
'.AddText(DISCOUNT_TOTAL.Text, "DISCOUNT_TOTAL")
'.AddText(final_total.Text, "final_total")
'.AddText(paid.Text, "paid")
'.AddText(unpaid.Text, "UNpaid")
'End With
'####################################################################################
'============= طباعه الداتا تفاصيل الفاتوره ===================
'With .AddTable()
' .DataTable = Get_All_PRD()
' '-------------------------------------
' '.MinimumRowsAtTheBeginningOfTable = 3
' .IsFirstColumnAutoNumber = False
' .TableHeadBookMarkName = "TableHead_1"
' .FirstRowBookMarkName = "TableFirstRow_1"
' .DeleteTableIfNoData = False
' '-------------------------------------
' .AddTextColumn("PRD_ID")
' .AddTextColumn("prd_code")
' .AddTextColumn("prd_name")
' .AddTextColumn("BUYPRICE")
' .AddTextColumn("QTY")
' .AddTextColumn("TOTALAMOUNT")
'End With
End With
Return PrintJob
End Functiملحوظه
RN.dotx هذا اسم ملف الورد ويتم حفظه كقالب وورد

