PDA

View Full Version : سوال: خواندن فارسي از فايل word و ريختن در text box



f_g1348
پنج شنبه 14 اردیبهشت 1391, 11:31 صبح
سلام
دوستان من مي خواهم از يك فايل word كه متن فارسي درون آن است بخوانم و درون يك textbox بريزم
چطور ميتونم چنين كاري بكنم ؟

Alirezanet
جمعه 15 اردیبهشت 1391, 06:08 صبح
ابتدا Reference , Microsoft.Office.Interop.Word به برنامتون اضافه کنید و به طور مثال این کد رو استفاده کنید ....

Dim app As New Microsoft.Office.Interop.Word.Application
app.Visible = False
app.Documents.Open("آدرس فایل", Nothing, True)
TextBox1.Text = doc.Content.Text

f_g1348
شنبه 16 اردیبهشت 1391, 10:46 صبح
با تشكر از شما ولي وقتي مي نويسم به doc ايراد مي گيرد
آيا متن فارسي رو هم بر مي گرداند ؟

Alirezanet
شنبه 16 اردیبهشت 1391, 16:49 عصر
سلام فارسی و انگلیسی بودنش فرقی نداره ...
آدرس فایل رو دقت کنید درست وارد بشه مشکلی نداره .
آخرش هم بعد از خوندن app.Quit() رو بنویسید

توی گوگل نهایتا به مشکل خوردید همچین چیزی رو سرچ کنید مثال زیاده :
Vb.net Word Doc Read Microsoft.Office.Interop.Word

hakim22
شنبه 16 اردیبهشت 1391, 18:13 عصر
عزیز من doc یک متغیر و شما باید از کلمه ی new و از نوع document یکی بسازید تا کار کنه

فرید نجفلو
شنبه 16 اردیبهشت 1391, 21:35 عصر
دوست عزیز شما که لطف می کنید کد می دید کاملش کنید
ممنون
Dim app As New Microsoft.Office.Interop.Word.Application
app.Visible = False
Dim doc = app.Documents.Open("آدرس فایل", Nothing, True)
TextBox1.Text = doc.Content.Text

Alirezanet
شنبه 16 اردیبهشت 1391, 22:43 عصر
دوست عزیز شما که لطف می کنید کد می دید کاملش کنید
ممنون
Dim app As New Microsoft.Office.Interop.Word.Application
app.Visible = False
Dim doc = app.Documents.Open("آدرس فایل", Nothing, True)
TextBox1.Text = doc.Content.Text

درست میگید من کد رو مستقیم اینجا تایپ کردم یادن رفت بگم که doc چیه !
میتونید به جای استفاده از doc مستقیم هم مقدار رو بخونید :
TextBox1.text = app.Documents.Content.Text

f_g1348
یک شنبه 17 اردیبهشت 1391, 10:31 صبح
من اين كد رو زدم ولي توي textbox فقط عدد 1 رو ميزنه در صورتي كه فايل كلاً متنه
هم word2007 و هم 2003 را چك كردم همين طوره

hakim22
یک شنبه 17 اردیبهشت 1391, 12:14 عصر
اگر متن در پاراگراف باشه باید از خاصیت pararaghraphs استفاده کنید تا متن درون هر پاراگراف استخراج بشه که کل متن دربیاد.
در ضمن برای مقدار برگشتی از content یک متغیر از نوع range تعریف کنید.
پرونده های ورد پیچیده هستند که هر کدوم از پارامترهای پرونده درون یک collection متفاوت قرار گرفته و اینجور نیست که شما باید گزارش گیری ساده کلیه ی محتویات رو دربیارید.

f_g1348
یک شنبه 17 اردیبهشت 1391, 12:46 عصر
كلاً متوجه نشدم چي شد . اگر امكان داره يه نمونه كد بگذاريد .
با تشكر

f_g1348
دوشنبه 18 اردیبهشت 1391, 13:18 عصر
سلام
واسه خوندن از فايل ورد يه چنين كدي پيدا كردم ولي فاصله ها و اينتر را حذف مي كند .
كسي راه حلي داره كه اينا پاك نشن ؟

Imports Microsoft.Office.Interop.Word

Module Module1
Sub Main()
' Create application instance.
Dim app As Application = New Application

' Open specified file.
Dim doc As Document = app.Documents.Open("C:\word.doc")

' Loop through all words.
Dim count As Integer = doc.Words.Count
For i As Integer = 1 To count
' Write word to screen.
Dim text As String = doc.Words(i).Text
Console.WriteLine("Word {0} = {1}", i, text)
Next

' Quit the application.
app.Quit()
End Sub
End Module

f_g1348
سه شنبه 19 اردیبهشت 1391, 11:48 صبح
كسي نيست راهنمايي كنه ؟

Alirezanet
سه شنبه 19 اردیبهشت 1391, 20:31 عصر
سلام
واسه خوندن از فايل ورد يه چنين كدي پيدا كردم ولي فاصله ها و اينتر را حذف مي كند .
كسي راه حلي داره كه اينا پاك نشن ؟

Imports Microsoft.Office.Interop.Word

Module Module1
Sub Main()
' Create application instance.
Dim app As Application = New Application

' Open specified file.
Dim doc As Document = app.Documents.Open("C:\word.doc")

' Loop through all words.
Dim count As Integer = doc.Words.Count
For i As Integer = 1 To count
' Write word to screen.
Dim text As String = doc.Words(i).Text
Console.WriteLine("Word {0} = {1}", i, text)
Next

' Quit the application.
app.Quit()
End Sub
End Module

سلام طبق این روش شما دارید کلمات رو میخونید Doc.Word میتونید مستقیم محتوای فایل رو بخونید Doc.Content

f_g1348
یک شنبه 07 خرداد 1391, 13:40 عصر
حالا من بايد چه كار كنم تا اين مشكل برطرف بشه؟
لطفاً راهنمايي كنيد

samane.t
چهارشنبه 11 مرداد 1391, 12:31 عصر
من از این کد در وبسایتم استفاده کردم و به نتیجه رسیدم
با این کد میتونید محتوای یک فایل رو که در سرور ذخیره شده در تکست باکس با خاصیت چند سطری نمایش
بدید

در ابتدای کد این قطعه رو وارد کنید



Imports Microsoft.Office.Interop.Word


و قطعه ی بعدی رو مثلا در رویداد فرم لود یا هر رویدادی که مد نظرتون هست



Dim app As Application = New ApplicationClass




Dim doc As Document = app.Documents.Open(Server.MapPath("~\downloadFiles\about website.doc"))


TextBox1.Text = doc.Content.Text







app.Quit()








*به جای مسیری که داخل کوتیشن نوشتم، مسیر فایل خودتون رو وارد کنید