PDA

View Full Version : خطا در باز کردن فایلها با نام فارسی



هستی666
شنبه 03 آبان 1393, 13:47 عصر
سلام خدمت دوستان
من از طریق این کد فایلهای word موجود روی سیستم را از طریق خودت آفیس باز می کنم.اما برای فایلهایی که نام آنها یا مسیرشان فارسی هست خطا می دهد و باز نمی کند علت چیست؟؟؟؟






private void btnview_Click(object sender, EventArgs e)



}

OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = @".\\";
openFileDialog1.Title = "Browse Text Files";
openFileDialog1.CheckFileExists = true;
openFileDialog1.CheckPathExists = true;
openFileDialog1.DefaultExt = "txt";
openFileDialog1.Filter = "Text files (*.doc)|*.doc|All files (*.docx)|*.doc";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.ReadOnlyChecked = true;
openFileDialog1.ShowReadOnly = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtname.Text = openFileDialog1.FileName;
Process.Start("WINWORD.EXE", txtname.Text);
}





}

behzadkhan
شنبه 03 آبان 1393, 15:52 عصر
با سلام

اگه درست گفته باشم

دستور زیر:


Process.Start("WINWORD.EXE", txtname.Text);


به دستور "کامند پرامت" تبدیل میشه و در این محیط "یونی کد" پشتیبانی نمی شه و آدرس بصورت علامت سوال در می آید.

================================================== =========

بهتر است از روش های دیگه استفاده کنید.

اگر خواستید براتون می زارم.

با تشکر

هستی666
یک شنبه 04 آبان 1393, 07:28 صبح
با سلام

اگه درست گفته باشم

دستور زیر:


Process.Start("WINWORD.EXE", txtname.Text);


به دستور "کامند پرامت" تبدیل میشه و در این محیط "یونی کد" پشتیبانی نمی شه و آدرس بصورت علامت سوال در می آید.

================================================== =========

بهتر است از روش های دیگه استفاده کنید.

اگر خواستید براتون می زارم.

با تشکر

ممنون میشم برام راه حلش را بگذارید

behzadkhan
یک شنبه 04 آبان 1393, 08:54 صبح
با سلام

کد زیر را تست کرده ام:
=============

private void button3_Click(object sender, EventArgs e)
{
Object refmissing = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application();
Object refPathFile = "c:\\dabirkhanieh.doc";
winword.Visible = true;

Microsoft.Office.Interop.Word.Document doc = winword.Documents.Open(ref refPathFile,ref refmissing, ref refmissing, ref refmissing, ref refmissing, ref refmissing, ref refmissing,
ref refmissing, ref refmissing, ref refmissing, ref refmissing, ref refmissing, ref refmissing, ref refmissing,
ref refmissing, ref refmissing);

}


با تشکر

هستی666
یک شنبه 04 آبان 1393, 09:26 صبح
ممنون دوست عزیز به خاطر راهنماییت .اما واسه من فقط یک فایل ورد خالی را باز می کنه یعنی بدون document .چرا؟؟؟؟؟؟؟(البته که آدرس refPathFile را عوض کردم:چشمک:)

behzadkhan
یک شنبه 04 آبان 1393, 09:37 صبح
با سلام

دوست عزیز منو اونو با آفیس 2007 تست کردم.

ممکن هست در ورژن های بالاتر به شکل دیگری باشد.

با تشکر

هستی666
یک شنبه 04 آبان 1393, 09:50 صبح
بله حرفتون درسته با ورژن مشکل داره اما راه حلش؟؟؟؟:افسرده:

behzadkhan
یک شنبه 04 آبان 1393, 09:55 صبح
با سلام

لطفا ورژن آفیس را ارسال نمایید.:متفکر:

با تشکر

هستی666
یک شنبه 04 آبان 1393, 10:08 صبح
راحش را پیدا کردم.
ورژن Microsoft.Office.Interop.Word را در Refrences بالا بردم.یعنی از ورژن 12 اون استفاده کردم.
از شما دوست عزیزم بی نهایت متشکرم