PDA

View Full Version : سوال: نحوه ي اجراي برنامه wordدر vb



ali_mo7670
پنج شنبه 22 بهمن 1388, 20:49 عصر
سلام
ميخواستم يه برنامه بنويسم كه نرم افزار wordبازشه بعد متن رو تايپ كنم بعداز بستنwordتو فرمم متن رو نمايش بده.بعد از اونجا تو بانكم ذخيره كنم

IamOverlord
پنج شنبه 22 بهمن 1388, 21:13 عصر
سلام دوست عزیز!
واسه این کار از ابزار OLE استفاده کن!:چشمک:

wenoos
پنج شنبه 22 بهمن 1388, 23:08 عصر
سلام - دوست عزیز من وی بی 6 بلد نیستم ولی اگر یتوتی از امکانات .net استفاده کنی با اضافه کردن کامپوننت microsoft office 12 object library به reference کارت خیلی راحت میشه البته با OLE هم میشه

wenoos
پنج شنبه 22 بهمن 1388, 23:13 عصر
اگرword مد نظر است microsoft word 12 object library بهتر مي باشد

ali_mo7670
جمعه 23 بهمن 1388, 17:26 عصر
متشکر
ولی من ازoleاستفاده کردم ole یا فضای محدودی برای تایپ کردن بهم میده یا ابزار ها wordنمایش نمیده .

IamOverlord
جمعه 23 بهمن 1388, 18:22 عصر
سلام دوست عزیز!
برای تغییر size به اندازه ی دلخواه OLEObject.SizeMode = 2 کن. برای نمایش ابزار ها هم حداقل اگر version برنامه ی Word واسه 2007 یا 2010 باشه به طور خوکار بعد از کمی درنگ نوار ابزار ساده ای کنار نشانگر ماوس ظاهر می شه. ضمنا کاربر می تونه برای استفاده از تمامی امکانات برنامه ی Word روی کنترل OLE راست کلیک کنه و گزینه ی آخر یعنی Open رو انتخاب کنه...
اما برای کار حرفه ای تر و تسلط بیشتر روی سند Word همون طور که دوستان هم اشاره کردند می تونی از DLL استفاده کنی که بهتر هم هستش و می تونی در کنار برنامه ی کاربردی روی کامپیوتر کاربر نصب کنی...
:چشمک:

vbhamed
شنبه 24 بهمن 1388, 12:36 عصر
سلام

اگر References بزاری فقط با همون ورژنی که رو دستگاهت هست سازگاره
کد زیر رو بنویس، رفرنس هم نمی خواد
هر موقع خواستی خارج بشی دو خط آخر رو بزار که Remark شده



Private Sub Command1_Click()

Dim word As Object

On Error Resume Next

Set word = GetObject(, "Word.Application")

If word Is Nothing Then
Set word = CreateObject("Word.Application")

If word Is Nothing Then
MsgBox "MS Word 8.0 is not installed on your computer"
Exit Sub
End If
End If

word.Visible = True
word.Documents.Add

word.Activate

'word.Application.Quit
'Set word = Nothing

End Sub

ali_mo7670
یک شنبه 25 بهمن 1388, 10:55 صبح
سلام
متشكر كد دوم رو استفاده كردم كار كرد.
حالا من ميخوام كه متن تايپ شده رو تو databesa ذخيره كنم و تو برنامه هم نمايش بدم اينو چكار كنم ؟
تازه من يك كار ديگه هم كردم ole رو به يك صفحه خالي از word لينك كرد اونم جواب داد.
حالا ميخواستم قدار ole رو تو databesaذخيره كنم ميشه خصوصيات مهم عنصر ole رو بگي؟
متشكر.

farshadgoli
یک شنبه 25 بهمن 1388, 11:00 صبح
من یه lab top دارم که windows vista روش نصبه. چند روز پیش یک فایل رو open with کردم تا با jet audioباز بشه, اما تمام برنامه های روی desk top به آیکون jet audio تغییر شکل پیدا کردن, مجبور شدم jet audio رو un install کنم تا مثلا وضعیت به حالت قبلی برگشت. الان هیچ برنامه ای رو نمیتونم اجرا کنم مگر اینکه با فایل اجرایی خودش open with کنم. اما برای اجرای set up نرم افزارها و نصب آنها, چون نمیدانم که فایل اجراییشون به چه نامی هست, قادر به نصب هیچ نرم افزاری نیستم. لطفا اگه کسی میتونه کمک کنه.

aryasoft2872
یک شنبه 25 بهمن 1388, 12:11 عصر
من یه lab top دارم که windows vista روش نصبه. چند روز پیش یک فایل رو openwith کردم تا با jet audioباز بشه, اما تمام برنامه های روی desk top به آیکون jetaudio تغییر شکل پیدا کردن, مجبور شدم jet audio رو un install کنم تا مثلا وضعیت به حالت قبلی برگشت. الان هیچ برنامه ای رو نمیتونم اجرا کنم مگر اینکه با فایل اجرایی خودش open with کنم. اما برای اجرای set up نرم افزارها و نصب آنها, چون نمیدانم که فایل اجراییشون به چه نامی هست, قادر به نصب هیچ نرم افزاری نیستم. لطفا اگه کسی میتونه کمک کنه.


این ربطش به وی بی چی بود؟؟؟؟؟؟:متفکر:

vbhamed
یک شنبه 25 بهمن 1388, 19:25 عصر
سلام

بهترين راه اينه كه فايل ورد رو ذخيره كني و در يك پوشه كنار برنامت قرار بدي و مثلا اسم رو برابر Id ركورد مورد نظر بزاري و هر بار با خود ورد بازش كني
اينطوري ديتابيست هم بيخودي بزرگ نميشه

ali_mo7670
دوشنبه 26 بهمن 1388, 18:02 عصر
سلام
اين يك برنامه دبيرخانه است فايل تايپ شده بايد تو خود ديتابيس ذخيره بشه ميتوني بيشتر توضيح بدي متوجه نشدم

vbhamed
سه شنبه 27 بهمن 1388, 08:30 صبح
سلام

از منوي project گزينه references آيتم Microsoft word 11 Object library رو تيك بزن
البته word 11 براي Office 2003 هستش

بعد تو برنامه به شكل زير عمل كن


Dim wrd As New Word.Application

With wrd

.Visible = True
.Activate
.Documents.Open "c:\0025036.doc"
.ActiveDocument.SaveAs "c:\0025036.doc", wdFormatDocument
.Activate
.ActiveDocument.PrintOut

.
.
.
....

.Application.Quit

End With

wrd.Application.Quit
Set wrd = Nothing

به جاي نقطه هاي اضافي در كد بالا مي توني ساير متدهاي ورد رو ببيني و هركاري باهاش انجام بدي

در روش بالا برنامه فقط با ورژن Office دستگاه شما سازگاره كه بهتره به جاي تعريف متغير wrd به شكل بالا از روش زير استفاده كني كه با هر ويرايشي از Office سازگار باشه فقط اشكالش اينه كه اسم متدها اتوماتيك ديگه تو ويژوال بيسيك ظاهر نميشه، مي توني اول از روش بالا بنويسي و بعد كه برنامت تكميل شد تعريف wrd رو به شكل زير تغيير بدي، با روش زير ديگه اون رفرنس هم نياز نيست تيك بزني


Dim wrd As Object
Set wrd = GetObject(, "word.Application")

If wrd Is Nothing Then
Set wrd = CreateObject("word.Application")
If wrd Is Nothing Then
MsgBox "MS wrd 8.0 is not installed on your computer"

Exit Sub

End If
End If

S_O_S1982
سه شنبه 27 بهمن 1388, 10:02 صبح
سلام
من می خواستم اطلاعات یک گزارش تو DATA REPORT رو به ورد بفرستم آیا امکانش هست ؟ یا اکه نشه اطلاعات دیتا ریپورت رو فرستاد ، می شه اطلاعات یک textbox رو ، مثل کد بالا کاری کرد ، که وقتی برنامه ورد باز میشه ، اطلاعات از یک دیتا ریپورت یا یک Textbox هم توش ریخته بشه ؟

ممنون

S_O_S1982
سه شنبه 27 بهمن 1388, 11:51 صبح
به نظر شما راهی هست که وفتی برنامه ورد باز میشه ، با VB بشه ، Save رو غیر فعال کرد ، یا وقتی می خوای از ورد خارج بشی ، دیگه اون پیغام اینکه این فایل ذخیره بشه ، ظاهر نشه؟؟؟

vbhamed
سه شنبه 27 بهمن 1388, 15:22 عصر
سلام
اگر با دستور زير خارج بشي پيام Save نمي ده


wrd.Application.Quit False

ali_mo7670
سه شنبه 27 بهمن 1388, 16:02 عصر
سلام
دوست عزيز تو مثال قبلي واسم توضيح داده بودي كه چطور ميشه ورد رو باز كرد اما مشكل من اينه كه چطور ميشه بعد از تايپ اونه تو ديتابيس ذخيره كنم

S_O_S1982
سه شنبه 27 بهمن 1388, 21:46 عصر
سلام
اگر با دستور زير خارج بشي پيام Save نمي ده


wrd.Application.Quit False


درسته ، ممنون
اما ببینید من وقتی فرضا برنامه ورد باز میشه برام ، خوب با دکمه ی Close خود ورد برنامه رو می بندم
الان متوجه منظورتون نمی شم وقتی می گین با این دستور از برنامه خارج بشم

یه سوال دیگه هم دارم و اونم اینه که کلا میشه کاری کرد که Save تو این document از کار بی افته ، و فقط بشه Save as کرد؟

ممنون

S_O_S1982
یک شنبه 17 مرداد 1389, 11:17 صبح
سلام دوستان

مشکلی که من دارم برای ارسال متن به نرم افزار Word به این صورت هست که وقتی یک textbox که داخل اون اطلاعاتی به صورت تاریخ هست مثل 17/05/1389 رو می خوام به word بفرستم به صورت 1389/05/17 نمایش داده میشه

خیلی از راهکارها هم امتحان کردم اما تا الان جواب نداده
کسی می تونه کمکم کنه ؟؟

ممنون از توجه شما

vbhamed
دوشنبه 18 مرداد 1389, 00:51 صبح
سلام

خب شما هم قبل از فرستادن به ورد اونو برعكسش كن يعني جاي روز و سال رو عوض كن !

S_O_S1982
دوشنبه 18 مرداد 1389, 22:33 عصر
سلام
من در حال حاضر این روش رو استفاده می کنم
اما گفتم شخص شما چون تو این کار تجربه دارید ، شاید راه دیگه ای و استفاده می کنید

به هر صورت از توجه شما تشکر می کنم