function ceshi_Word
%利用MATLAB生成Word文档
% ceshi_Word
%
% Copyright 2009 - 2010 xiezhh.
% $Revision: 1.0.0.0 $ $Date: 2009/12/14 12:37:00 $
% 设定测试Word文件名和路径
filespec_user = [pwd '\测试.doc'];
% 判断Word是否已经打开,若已打开,就在打开的Word中进行操作,否则就打开Word
try
% 若Word服务器已经打开,返回其句柄Word
Word = actxGetRunningServer('Word.Application');
catch
% 创建一个Microsoft Word服务器,返回句柄Word
Word = actxserver('Word.Application');
end;
% 设置Word属性为可见
Word.Visible = 1; % 或set(Word, 'Visible', 1);
% 若测试文件存在,打开该测试文件,否则,新建一个文件,并保存,文件名为测试.doc
if exist(filespec_user,'file');
Document = Word.Documents.Open(filespec_user);
% Document = invoke(Word.Documents,'Open',filespec_user);
else
Document = Word.Documents.Add;
% Document = invoke(Word.Documents, 'Add');
Document.SaveAs(filespec_user);
end
Content = Document.Content; % 返回Content接口句柄
Selection = Word.Selection; % 返回Selection接口句柄
Paragraphformat = Selection.ParagraphFormat; % 返回ParagraphFormat接口句柄
% 页面设置
Document.PageSetup.TopMargin = 60; % 上边距60磅
Document.PageSetup.BottomMargin = 45; % 下边距45磅
Document.PageSetup.LeftMargin = 45; % 左边距45磅
Document.PageSetup.RightMargin = 45; % 右边距45磅
% 设定文档内容的起始位置和标题
Content.Start = 0; % 设置文档内容的起始位置
title = '试 卷 分 析';
Content.Text = title; % 输入文字内容
Content.Font.Size = 16 ; % 设置字号为16
Content.Font.Bold = 4 ; % 字体加粗
Content.Paragraphs.Alignment = 'wdAlignParagraphCenter'; % 居中对齐
Selection.Start = d; % 设定下面内容的起始位置
Selection.TypeParagraph; % 回车,另起一段
matlab 下载
xueqi = '( 2009 — 2010 学年 第一学期)';
Selection.Text = xueqi; % 在当前位置输入文字内容
Selection.Font.Size = 12; % 设置字号为12
Selection.Font.Bold = 0; % 字体不加粗
Selection.MoveDown; % 光标下移(取消选中)
paragraphformat.Alignment = 'wdAlignParagraphCenter'; % 居中对齐
Selection.TypeParagraph; % 回车,另起一段
Selection.TypeParagraph; % 回车,另起一段
Selection.Font.Size = 10.5; % 设置字号为10.5
% 在光标所在位置插入一个12行9列的表格
Tables = Document.Tables.Add(Selection.Range,12,9);
% 返回第1个表格的句柄
DTI = Document.Tables.Item(1); % 或DTI = Tables;
% 设置表格边框
DTI.Borders.OutsideLineStyle = 'wdLineStyleSingle';
DTI.Borders.OutsideLineWidth = 'wdLineWidth150pt';
DTI.Borders.InsideLineStyle = 'wdLineStyleSingle';
DTI.Borders.InsideLineWidth = 'wdLineWidth150pt';
DTI.Rows.Alignment = 'wdAlignRowCenter';
DTI.Rows.Item(8).Borders.Item(1).LineStyle = 'wdLineStyleNone';
DTI.Rows.Item(8).Borders.Item(3).LineStyle = 'wdLineStyleNone';
DTI.Rows.Item(11).Borders.Item(1).LineStyle = 'wdLineStyleNone';
DTI.Rows.Item(11).Borders.Item(3).LineStyle = 'wdLineStyleNone';
% 设置表格列宽和行高
column_width = [53.7736,85.1434,53.7736,35.0094,...
35.0094,76.6981,55.1887,52.9245,54.9057]; % 定义列宽向量
row_height = [28.5849,28.5849,28.5849,28.5849,25.4717,25.4717,...
32.8302,312.1698,17.8302,49.2453,14.1509,18.6792]; % 定义行高向量
% 通过循环设置表格每列的列宽
for i = 1:9
DTI.Columns.Item(i).Width = column_width(i);
end
% 通过循环设置表格每行的行高
for i = 1:12
DTI.Rows.Item(i).Height = row_height(i);
end
% 通过循环设置每个单元格的垂直对齐方式
for i = 1:12
for j = 1:9
DTI.Cell(i,j).VerticalAlignment = 'wdCellAlignVerticalCenter';
end
end
% 合并单元格
DTI.Cell(1, 4).Merge(DTI.Cell(1, 5));
DTI.Cell(2, 4).Merge(DTI.Cell(2, 5));
DTI.Cell(3, 4).Merge(DTI.Cell(3, 5));
DTI.Cell(4, 4).Merge(DTI.Cell(4, 5));
DTI.Cell(5, 2).Merge(DTI.Cell(5, 5));
DTI.Cell(5, 3).Merge(DTI.Cell(5, 6));
DTI.Cell(6, 2).Merge(DTI.Cell(6, 5));
DTI.Cell(6, 3).Merge(DTI.Cell(6, 6));
DTI.Cell(5, 1).Merge(DTI.Cell(6, 1));
DTI.Cell(7, 1).Merge(DTI.Cell(7, 9));
DTI.Cell(8, 1).Merge(DTI.Cell(8, 9));
DTI.Cell(9, 1).Merge(DTI.Cell(9, 3));
DTI.Cell(9, 2).Merge(DTI.Cell(9, 3));
DTI.Cell(9, 3).Merge(DTI.Cell(9, 4));
DTI.Cell(9, 4).Merge(DTI.Cell(9, 5));
DTI.Cell(10, 1).Merge(DTI.Cell(10, 9));
DTI.Cell(11, 5).Merge(DTI.Cell(11, 9));
DTI.Cell(12, 5).Merge(DTI.Cell(12, 9));
DTI.Cell(11, 1).Merge(DTI.Cell(12, 4));
Selection.Start = d; % 设置光标位置在文档内容的结尾
Selection.TypeParagraph; % 回车,另起一段
Selection.Text = '主管院长签字: 年 月 日'; % 输入文字内容
Paragraphformat.Alignment = 'wdAlignParagraphRight'; % 右对齐
Selection.MoveDown; % 光标下移
% 写入表格内容
DTI.Cell(1,1).Range.Text = '课程名称';
DTI.Cell(1,3).Range.Text = '课程号';
DTI.Cell(1,5).Range.Text = '任课教师学院';
DTI.Cell(1,7).Range.Text = '任课教师';
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论