日期:2014-05-18  浏览次数:21169 次

用dsoframer.ocx将word文档内嵌在winform中,怎么获取word文档里面的值
一:现在我已经用dsoframer.ocx将word文档内嵌在winform中,可以在线编辑内容,但是word里面有些空白的需要填值的地方,我是要从另一个界面输入的,请问怎么将那个值传入到这个word文档中,并且把这些值保存到数据库中。

二:用dsoframer控件有一个不好的地方就是那个最上面的导航条,可不可以去掉啊,比如我们新建的winform窗体最上面会有一个Form1的导航条,winform窗体可以设置属性formborderstyle为none直接去掉最上面的导航条,请问dsoframer怎么去掉啊


------解决方案--------------------
这个还是看看其他控件吧,RICHTEXT编辑器了.

------解决方案--------------------
Dsoframer控件可以用 ActiveDocument的属性获取当前操作文档的活动全局窗口.如果你懂VBA Office编程的话,就很容易了。
再就是Dsoframer控件有相关的属性可以设置去掉导航条。 Toolbars,Titlebar,Menvbar。 你可以试试。
------解决方案--------------------
我只研究过对用Dsoframer控件操作 Excel 这段代码你可以参考一下。
private void button2_Click(object sender, EventArgs e)
{
try
{
this.axFramerControl1.Open("E:\\从2010-5-1到2010-5-31的排班表.xlsx");
var axFramerApp = this.axFramerControl1.GetApplication;

if (axFramerApp != null)
{
////获取DSOFramer控件的Application
//Excel.Application excelApp = (Excel.Application)axFramerApp;
//excelApp.Application.Interactive = true;

//获取打开文档的句柄(文件类型)
Excel.Workbook workbook = (Excel.Workbook)this.axFramerControl1.ActiveDocument;
//当前工作表的个数
workbook.Sheets.Count.ToString();

//*********循环出每一个工作表**********//
for (int i = 1; i <= workbook.Sheets.Count; i++)
{
Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[i];

//设置允许编辑
Excel.AllowEditRanges ranges = worksheet.Protection.AllowEditRanges;
//单元格的坐标
ranges.Add("Information", worksheet.get_Range("A4", "AH13"), Type.Missing);

//冻结的单元格(Range 单元格的对象)
Microsoft.Office.Interop.Excel.Range excelRange = worksheet.get_Range(worksheet.Cells[3, 4], worksheet.Cells[3, 4]);
//excelRange.Select();
//excelRange.HorizontalAlignment = XlHAlign.xlHAlignLeft;

//把当前选定的区域的单元格设置为常规。
Microsoft.Office.Interop.Excel.Range ex = worksheet.get_Range("A1", "AH13");
ex.NumberFormatLocal = "@";
ex.HorizontalAlignment = XlHAlign.xlHAlignCenter;

//保护工作表
worksheet.Protect("myPassWord", Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, true, Type.Missing, Type.Missing);
}
//保存工作薄
workbook.Saved = true;
workbook.Save();
}
else
{
MessageBox.Show("未获取文档的Application");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}