PDA

View Full Version : Layout راست به چپ در ارتباط با فایل Word



رضا جاسبی
جمعه 11 مرداد 1387, 06:12 صبح
دوستان سلام
من می خوام از توی برنامه ام محتوای یک گرید رو در یک فایل ورد بریزم. در مورد نوشتن متن و جدول مشکلی ندارم اما می خوام صفحه مورد نظر Layouy راست به چپ داشته باشه. منظورم حالتیه که Ctrl و Shift راست رو در Word می زنیم و جهت نوشته ها راست به چپ میشه.
اگر کسی بتونه کمکم کنه ممنون میشم.

رضا جاسبی
شنبه 12 مرداد 1387, 22:48 عصر
هیچکس جوابی به نظرش نمیاد؟؟؟؟

رضا جاسبی
دوشنبه 14 مرداد 1387, 09:07 صبح
بابا تحویل.
حداقل یک نفر نمیگه بلد نیستم. یا حتی بگه اینقدر بی سوادی که اینو بلد نیستی دلم خوش باشه.
همین دیروز بود به یک نفر گفتم اینجا بهترین جاست برای کمک کردن و کمک گرفتن. صبح بخیر

ali_kashani
دوشنبه 14 مرداد 1387, 17:26 عصر
با سلام

جواب سوالتو كه بلد نيستم چون خيلي تازه كارم
ولي يك سوال دارم چگونه داخل Word مي شه جدول كشيد و جدول را پر كرد


با تشكر فراوان.

رضا جاسبی
دوشنبه 14 مرداد 1387, 22:46 عصر
اول باید در پروژه ات Add Reference کنی و از Com گزینه Microsoft Word 12.0 Object Library رو انتخاب کنی تا به پروژه اضافه بشه.
بعد using Word = Microsoft.Office.Interop.Word رو به اول فایل cs اضافه می کنی
این تیکه کد هم تقریبا روشن توضیح داده



object oMissing = System.Reflection.Missing.Value;
object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */

//Start Word and create a new document.
Word._Application oWord;
Word._Document oDoc;
oWord = new Word.Application();
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
ref oMissing, ref oMissing);

oWord.Visible = true;


Word.Table oTable;
Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
oTable = oDoc.Tables.Add(wrdRng, 3, 5, ref oMissing, ref oMissing);
oTable.Range.ParagraphFormat.SpaceAfter = 6;
int r, c;
for (r = 1; r <= 3; r++)
{
for (c = 1; c <= 5; c++)
{
oTable.Cell(r, c).Range.Text = "Item["+r.ToString()+","+c.ToString()+"]";
oTable.Cell(r, c).Range.Borders.Enable = 1;
}
oTable.Rows[r].Range.Font.Bold = 0;
oTable.Rows[r].Range.Font.Italic = 0;
oTable.Rows[r].Range.Font.SizeBi = 12;
oTable.Rows[r].Range.Font.NameBi = "Zar";
}


بازهم ممنون که حداقل یه جوابی دادی.

ali_kashani
سه شنبه 15 مرداد 1387, 22:28 عصر
با سلام

وقتي Add Reference كردم در تب com به جاي Microsoft Word 12.0 Object Library اين بود Microsoft Word 11.0 Object Library من برروي كامپيوترم Office 2003 نصب هست
و بعد از نوشتن كدهايي كه گذاشتيد در خط كه با رنگ قرمز نشان دادم اين EROR را داد
(The requested member of the collection does not exist.)


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Word;
namespace word
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
object oMissing = System.Reflection.Missing.Value;
object oEndOffDoc = "\\endoffdoc";
Microsoft.Office.Interop.Word._Application oWord;
Microsoft.Office.Interop.Word._Document oDoc;
oWord=new Microsoft.Office.Interop.Word.Application();
oDoc=oWord.Documents.Add(ref oMissing,ref oMissing,ref oMissing,ref oMissing);
oWord.Visible=true;

Microsoft.Office.Interop.Word.Table oTable;
Microsoft.Office.Interop.Word.Range wrdrng=oDoc.Bookmarks.get_Item(ref oEndOffDoc).Range;
oTable = oDoc.Tables.Add(wrdrng, 3, 5, ref oMissing, ref oMissing);
oTable.Range.ParagraphFormat.SpaceAfter = 6;
int r, c;
for (r = 1; r <= 3; r++)
{
for (c = 1; c <= 5; c++)
{
oTable.Cell(r, c).Range.Text = "Item[" + r.ToString() + "," + c.ToString() + "]";
oTable.Cell(r, c).Range.Borders.Enable = 1;
}
oTable.Rows[r].Range.Font.Bold = 0;
oTable.Rows[r].Range.Font.Italic = 0;
oTable.Rows[r].Range.Font.SizeBi = 12;
oTable.Rows[r].Range.Font.NameBi = "Zar";
}
}
}
}

با عرض معضرت برنامه اي را كه نوشتم در ضميمه مي گزارم در صورت امكان يك نگاهي بكنيد

با تشكر فراوان

رضا جاسبی
سه شنبه 15 مرداد 1387, 23:08 عصر
فکر کنم می تونی اون خط رو حذف کنی. من با Office 2007 کار می کنم. بهت هم خارج از بحث برنامه نویسی توصیه می کنم نصب کنی. هرچند که منوها رو کاملا بهم ریخته و حسابی عوض کرده ولی زود عادت می کنی.

رضا جاسبی
پنج شنبه 17 مرداد 1387, 22:43 عصر
یعنی هیچکس نمی خواد یک کلمه کمک کنه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟

رضا جاسبی
جمعه 01 شهریور 1387, 01:01 صبح
شرمنده کردید. تورو خدا خجالتم ندید. بابا لازم نیست برای کمک به یک مستاصل بیچاره اینقدر خودتون رو به زحمت بندازین.

مشکلم رو حل کردم. یعنی در واقع دور زدم. یک Template گرفتم راست به چپش کردم و بعد Save. بعد توی برنامه اون رو باز کردم.

یه جایی تو سایت دیدم که گفته بود وقتی مشکل حل شد روی یه همچون دکمه ای کلیک کنید. یه چیزی تو مایه های دکمه تشکر که برای کاربرد خاصیه. من هم برای همین به این تاپیک برگشتم ولی چیزی ندیدم.

s_ahmadneya
یک شنبه 19 آبان 1387, 13:09 عصر
من شدیدا" دنبال استفاده از امکانات ورد در برنامه ام هستم متاسفانه هنوز نتونسته ام حتی ورد را در برنامه باز کنم .البته من می خواهم فیلدها بالای فرم باشد و فایل ورد در پایین فرم مثل بعضی از نرم افزارهای اتوماسیون اداری اگر می تونی کمکم کنید

ali_kashani
یک شنبه 19 آبان 1387, 18:37 عصر
سلام

اينو چك كن
http://www.codeproject.com/KB/office/WordInDotnet.aspx