PDA

View Full Version : ارسال متن به Word



salman_s
یک شنبه 02 بهمن 1384, 10:25 صبح
با سلام
من یک متن در VB أماده کردم حالا میخام بفرستمش تو Word و اینکه بتونم تنزیمات صفحه مثل اندازه کاغز و Alignment و فاصله از حاشیه ها رو هم انجام بدم اکه مثال باشه که خیلی ألی میشه (( حیثیتیه، واسه ادارمون میخام - یه برنامه خیلی مبتدی و ساده اس همش4-5 تا فرم داره، واسه اینکه بدونن کی ضامن وام کی شده و با توجه به حقوقش جقدر دیکه میتونه ضامن بشه - اکه از دوستان کسی خاست Mail بزنه تا با سورسش بدم Salman_s_mp@yahoo.com - بابا معرفتو ببین))

در ضمن در مورد برنامه نویسی VBA اکه منبعی میشناسین ممنون میشم معرفی کنید

salman_s
یک شنبه 02 بهمن 1384, 15:10 عصر
کس نخارد پشت من
آقا من خودم جوابم رو پیدا کردم از همه دوستانی که زحمت کشیدن ممنونم حالا هم یه حالی بهتون میدم جوابش رو میزارم که خیلی راحت بود

برای ساختن یک فایل template :
1- ورد را باز کنید.
2- از منوی فایل گزینه new را انتخاب کنید.
3- از پنجره باز شده به General tab رفته پس از انتخاب blank document در قسمت create new ، template را انتخاب کنیدو سپس ok.
4- بر یک جای خالی از منوی بالا راست کلیک کنید و گزینه forms را انتخاب کنید.
5- شروع به تایپ متن خود کنید و هر کجا متغیری لازم شد از نوار ابزار ایجاد شده text form field را انتخاب کنید و سپس به تایپ ادامه دهید.
6- در انتها بر روی متغیرهایی که در متن ایجاد کردید راست کلیک کرده و properties را انتخاب کنید و برای آنها نام مناسب انتخاب کنید و ... ما یکی با نام MyTextField می‌سازیم.
7- فایل رابا نام MyTemplate ، save کنید.
حالا می‌توانید از درون یک برنامه VB از این فایل استفاده کنید و مقدار متغیرها را وارد کرده و پرینت بگیرید. برای اینکار به ترتیب زیر عمل کنید.
1- بعد از باز کردن یک پروژه استاندارد از word ، reference بگیرید.یعنی از منوی project ، گزینه references را انتخاب و از آنجا microsoft word x را چک بزنید و ok .
2- حالا به تعداد متغیرهایی که در فایل MyTemplate تعریف کردید text box روی فرم قرار دهید. فعلا یکی با نام txtMyTextField قرار می‌دهیم.
3- یک command button برای اجرای برنامه روی فرم بگذارید.
4- کد زیر را کپی و در قسمت general declaration فرم paste کنید.
کد:
Dim wd As Word.Application
Private wdDoc As Word.Document

Private Sub Command1_Click()
Set wd = New Word.Application
Set wdDoc = New Word.Document
wd.Visible = True
Set wdDoc = wd.Documents.Add("C:\MyTemplate.dot")
wdDoc.FormFields("MyTextField").Range = txtMyTextField.Text
wdDoc.PrintPreview
'wd.PrintOut
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
wd.Quit False
Set wd = Nothing
Set wdDoc = Nothing
End Sub
حالا می‌توانید برنامه را اجرا کنید.
اگر می‌خواهید مستقیما پرینت بگیرید باید خط wd.printout را از حالت comment خارج کنید.
البته می‌توانید بعد از آنکه کارایی برنامه را دیدید کدهایی را که باعث دیده شدن word هستند حذف کنید و کاربر اصلا متوجه استفاده از ورد نشود.

عزت زیاد