精华内容
下载资源
问答
  • Word创建字符样式教程

    千次阅读 2018-03-28 17:13:48
     (上图红色边框所示就是所谓的格式)而WORD字符样式主要针对文章中某些文字进行单独设置而创建的。第一步先打开样式框(快捷键是ctrl+alt+shift+s)然后单击创建按钮如下图所示 第二步在打开的创建样式对话框中...

    样式是WORD中比较重要的一个概念,作用是:多个格式的集合。那么格式是什么呢就是我们平常字体,加粗,居中,项目符号等等其实统一称为格式。我们现在就创建一个样式。
     Word创建字符样式教程
    (上图红色边框所示就是所谓的格式)
    而WORD字符样式主要针对文章中某些文字进行单独设置而创建的。第一步先打开样式框(快捷键是ctrl+alt+shift+s)然后单击创建按钮如下图所示
     Word创建字符样式教程
    第二步在打开的创建样式对话框中我们首先要先给样式起个名字,如陈老师字符样式,在类型框中选择字符这是最关键的

    Word创建字符样式教程
    这样选择完之后,我们会看到下方需要进行设置的格式里面关于段落的设置已经变灰,不可以设置了
     Word创建字符样式教程
    第三步:我们就可以为我们创建的WORD字符样式进行格式的设置了,这也是最关键的样式里面包括格式。这里面有两个格式,上边的格式属于快速设置,下方格式按钮可以弹出对话框进行快速设置。
    字符样式可以设置就是字体,边框与底纹,还有2013新增的文字效果,当然也可以为创建的字符样式指定快捷键。假设我们为陈老师字符样式设定一个效果,要求包括如下格式(微软雅黑字体,加粗,间距加宽2磅,文字下方添加底纹,设置一个 ctrl+alt+4的快捷键)
      Word创建字符样式教程

    上图为创建字符样式中的字体设置对话框

    Word创建字符样式教程

    字符样式中边框与底纹设置

    Word创建字符样式教程

    快捷键指定
     
    这样就按要求创建出字符样式陈老师字符样式。而在左侧的样式库里面就会出现对应的样式了
    第四步:为选中的文字应用这个字符样式,先选择文字,从样式库中直接单击样式即可。
    Word创建字符样式教程

    来源:http://www.dushuwu.net/xqkan.aspx?newsid=422
    展开全文
  • word 添加横线技巧

    2019-11-21 14:37:53
    word 添加横线技巧 word大家都经常会用到,在各行各业都会使用,对它的一些简单功能我们应该要了解。那我们经常会遇到一个问题:“怎样在word中画横线?”,其实在word中画横线很简单,有很多方法。以下就给大家...

    word大家都经常会用到,在各行各业都会使用,对它的一些简单功能我们应该要了解。那我们经常会遇到一个问题:“怎样在word中画横线?”,其实在word中画横线很简单,有很多方法。以下就给大家介绍几种好用且快捷的方法。

    方法一:通过插入形状来添加横线

    可以在插入选项卡,形状里选择插入直线来进行添加,并可以对形状线型、粗细、颜色等进行详细设置。选中后按Delete即可删除。
    在这里插入图片描述

    方法二:通过输入特定的字符添加横线

    1) 输入三个以上的减号(-),可以添加一条横线:

    在一空行内,连续输入三个以上的减号(- - -),按回车键,就出现一条横线。
    在这里插入图片描述

    2) 输入三个以上的下划线(_),可以添加一条粗横线:

    在一空行内,连续输入三个以上的下划线(___)<shift + 减号>,按回车键,就出现一条粗横线。
    在这里插入图片描述

    3) 输入三个以上的波浪线(~)<shift + 顿号>,可以添加一条波浪线:

    在一空行内,连续输入三个以上的波浪号(~ ~ ~),按回车键,就出现一条波浪线。
    在这里插入图片描述

    4) 输入三个以上的井号(#)<shift + 3>,可以添加多条线:

    在一空行内,连续输入三个以上的井号(###),按回车键,就出现由二条细线和一条粗线组成的线。
    在这里插入图片描述

    5) 输入三个以上的波浪线(=),可以添加双线:

    在一空行内,连续输入三个以上的等号(===),按回车键,就出现由两条细线组成的线。
    在这里插入图片描述

    6)删除边框:

    不需要这些横线了,可以选择横线以上的文字内容,单击【开始】选项卡,在【段落】命令组中设置下划线样式为【无框线】。
    在这里插入图片描述

    方法三:通过下划线设置

    可以首先录入一段空格,然后通过开始选项卡——字体组里面的下划线来进行添加横线,然后可以通过下划线线型、下划线颜色来修改。选中按Delete即可取消。或者也可以取消下划线。
    在这里插入图片描述

    方法四:通过边框——横线来绘制

    可以通过开始选项卡,边框和底纹来插入横线,选中后再右击进行颜色、高度等设置。选中按Delete即可取消。
    在这里插入图片描述
    总结:以上方式都还可以,最快捷方便的就是方法一啦,你觉得呢?

    好了,关于在word中画横线的4种方法的介绍就结束了,希望对大家有所帮助!

    展开全文
  • Word基础(八)带圈字符

    千次阅读 2019-01-05 13:39:45
    Word中,如何在字符周围放置如下图所示的圆圈或边框呢? 方法: 选中文字 点击开始选项卡,在字体分类中的右侧找到带圈字符 点击后选择想要的样式即可 注:在弹出的带圈字符对话框中可以设置样式、文字和圈...

    在Word中,如何在字符周围放置如下图所示的圆圈或边框呢?
    在这里插入图片描述
    方法:
    选中文字
    点击开始选项卡,在字体分类中的右侧找到带圈字符
    点击后选择想要的样式即可
    :在弹出的带圈字符对话框中可以设置样式文字圈号
    样式中:
    1、:即无任何边框效果
    2、缩小文字(S):即添加边框后的边框大小和原文本大小相同(被包围的文字缩小了)
    3、增大圈号(E):即添加边框后的边框大小比原文本偏大(被包围的文字大小不变)
    在这里插入图片描述

    展开全文
  • 下面是自己的总结 大部分是转载的 ,自己也添加了一些如 :表格带有边框;乱码 问题的解决问题的办法。希望对以后用到的小白corder用所帮助! 首先,大家先要了解一下jacob ,官方的解释是Java COM Bridge,即...
    
    

    近日,由于公司需求,用到了 jacob 的部分,没接触过,有些问题 还是花了一些时间 。下面是自己的总结 大部分是转载的 ,自己也添加了一些如 :表格带有边框;乱码 问题的解决问题的办法。希望对以后用到的小白corder用所帮助!

    首先,大家先要了解一下jacob ,官方的解释是Java COM Bridge,即java和 com组件间的桥梁,这里说说为什么我们用jacob操纵word。而不直接使用java去做?

    这要原因:在Java开源世界没有很好工具来操作Word文档,POI对word操作还是很不完善,所以我们无法使用它很方便操作word文档来满足我们需求。相比之下使用jacob操作word文档非常方便。也比较容易。

     

    1,先说用poi读取的方法吧。用poi读取的话,先要下载tm-extractors-0.4.jar

    下载地址:http://mirrors.ibiblio.org/pub/mirrors/maven2/org/textmining/tm-extractors/0.4/
    下载完放到classpath

    读取代码:

    import java.io.*;
    import org.textmining.text.extraction.WordExtractor;
    
    
    public class ReadWord {
    
    public static void main(String args[]) throws Exception
    {
     FileInputStream in = new FileInputStream ("f:\\test.doc");
     WordExtractor extractor = new WordExtractor();
     String str = extractor.extractText(in);
     System.out.println("the result length is"+str.length());
     System.out.println("the result is"+str);
     }
    }
    
    
     

    到cmd下编译运行即可成功,这种方式只能读取数据,不能读取它的格式,不能修改内容。

    2.再说用jacob
          jacob 就是 JAVA-COM Bridge的缩写,它是在java与微软的com组件之间的桥梁,通过使用jacob自带的dll动态链接库通过JNI的方式实现了在sun java平台上的程序对com调用。jacob的作者照搬了微软java开发包中调用com组件的模式,并将它在sun java平台上实现,可谓是用心良苦啊。

        Yahoo支持地点:http://groups.yahoo.com/group/jacob-project
        下载地址:http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368

        下载之后解压,把jacob.jar放到jdk的bin目录和 jre的bin目录。把jacob .dll放到c:/windos/system32/下面。这样就算是配置完成了。

    标注:
        1. jdk1.4.2_04  经测试通过的JDK版本(其它版本没有试)
        2. jacobBin_17.zip  经测试JACOB.jar版本必须为: 1.7(其它版本测试没有成功)
        3. jacob_18.zip   经测试JACOB.dll版本必须为: 1.8(这个是必须的,1.7同版本的测试不通过,报下面错误1,1.9的也没通过。)
        4. winxp专业版 + office2003  测试环境

    常见错误解释:
    --------------
    1.jacob.dll或jacob.jar版本错误

    com.jacob.com.ComFailException: A COM exception has been encountered:
    At Invoke of: Documents
    Description: An unknown COM error has occured.
    at com.jacob.com.Dispatch.invokev(Native Method)
    at com.jacob.activeX.ActiveXComponent.getProperty(ActiveXComponent.java)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.change(WordToHtml.java:73)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.main(WordToHtml.java:121)
    com.jacob.com.ComFailException: A COM exception has been encountered:
    At Invoke of: Quit
    Description: An unknown COM error has occured.
    at com.jacob.com.Dispatch.invokev(Native Method)
    at com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.change(WordToHtml.java:92)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.main(WordToHtml.java:121)
    Exception in thread "main"

    2.不能找到jacob.dll
    java.lang.UnsatisfiedLinkError: no jacob in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1344)
    at java.lang.Runtime.loadLibrary0(Runtime.java:744)
    at java.lang.System.loadLibrary(System.java:815)
    at com.jacob.com.Dispatch.<clinit>(Dispatch.java)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.change(WordToHtml.java:56)
    at com.perlong.poa.common.dao.sqlserver.WordToHtml.main(WordToHtml.java:121)
    Exception in thread "main"

    3.找不到资源文件,资源文件路径问题(查看程序中资源文件路径的设置,并检查资源文件的存放路径)
    com.jacob.com.ComFailException: Invoke of: Open
    Source: Microsoft Word
    Description:
    at com.jacob.com.Dispatch.invokev(Native Method)
    at com.jacob.com.Dispatch.invoke(Dispatch.java)
    at FileExtracter.main(FileExtracter.java:17)

    例子:doc转换html

    import java.io.File;
    import com.jacob.com.*;
    import com.jacob.activeX.*;
    
    
    public class DocToHtml {
     
     public static void main(String[] args) {
    
        ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动word 
        String inFile = "f:\\test.doc"; //要替换的word文件 
       String tpFile = "f:\\temp.htm"; //要生成的html文件 
        boolean flag = false;
        try {
         app.setProperty("Visible", new Variant(false));//设置word不可见
         Object docs = app.getProperty("Documents").toDispatch();
         Object doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{inFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
         //打开word文件
         Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
         //作为htm格式保存文件
         Variant f = new Variant(false);
         Dispatch.call(doc, "Close", f);  //关闭文件
         
         flag = true;
        } catch (Exception e) {
         e.printStackTrace();
        } finally {
         app.invoke("Quit", new Variant[] {});
        }
    
       }
    }
    
    

    还有这个demo加上:

     

    package com.test;
    
    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;
    
    public class MSWordManager {
    
    	// word文档
    	private Dispatch doc;
    
    	// word运行程序对象
    	private ActiveXComponent word;
    
    	// 所有word文档集合
    	private Dispatch documents;
    
    	// 选定的范围或插入点
    	private Dispatch selection;
    
    	private boolean saveOnExit = true;
    
    	/**
    	 * 
    	 * @param visible
    	 *            为true表示word应用程序可见
    	 */
    	public MSWordManager(boolean visible) {
    		if (word == null) {
    			word = new ActiveXComponent("Word.Application");
    			word.setProperty("Visible", new Variant(visible));
    		}
    		if (documents == null)
    			documents = word.getProperty("Documents").toDispatch();
    	}
    
    	/** */
    	/**
    	 * 设置退出时参数
    	 * 
    	 * @param saveOnExit
    	 *            boolean true-退出时保存文件,false-退出时不保存文件
    	 */
    	public void setSaveOnExit(boolean saveOnExit) {
    		this.saveOnExit = saveOnExit;
    	}
    
    	/** */
    	/**
    	 * 创建一个新的word文档
    	 * 
    	 */
    	public void createNewDocument() {
    		doc = Dispatch.call(documents, "Add").toDispatch();
    		selection = Dispatch.get(word, "Selection").toDispatch();
    	}
    
    	/** */
    	/**
    	 * 打开一个已存在的文档
    	 * 
    	 * @param docPath
    	 */
    	public void openDocument(String docPath) {
    		closeDocument();
    		doc = Dispatch.call(documents, "Open", docPath).toDispatch();
    		selection = Dispatch.get(word, "Selection").toDispatch();
    	}
    
    	/** */
    	/**
    	 * 把选定的内容或插入点向上移动
    	 * 
    	 * @param pos
    	 *            移动的距离
    	 */
    	public void moveUp(int pos) {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		for (int i = 0; i < pos; i++)
    			Dispatch.call(selection, "MoveUp");
    
    	}
    
    	/** */
    	/**
    	 * 把选定的内容或者插入点向下移动
    	 * 
    	 * @param pos
    	 *            移动的距离
    	 */
    	public void moveDown(int pos) {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		for (int i = 0; i < pos; i++)
    			Dispatch.call(selection, "MoveDown");
    	}
    
    	/** */
    	/**
    	 * 把选定的内容或者插入点向左移动
    	 * 
    	 * @param pos
    	 *            移动的距离
    	 */
    	public void moveLeft(int pos) {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		for (int i = 0; i < pos; i++) {
    			Dispatch.call(selection, "MoveLeft");
    		}
    	}
    
    	/** */
    	/**
    	 * 把选定的内容或者插入点向右移动
    	 * 
    	 * @param pos
    	 *            移动的距离
    	 */
    	public void moveRight(int pos) {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		for (int i = 0; i < pos; i++)
    			Dispatch.call(selection, "MoveRight");
    	}
    
    	/** */
    	/**
    	 * 把插入点移动到文件首位置
    	 * 
    	 */
    	public void moveStart() {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		Dispatch.call(selection, "HomeKey", new Variant(6));
    	}
    
    	public void moveEnd() {
    		if (selection == null)
    			selection = Dispatch.get(word, "Selection").toDispatch();
    		Dispatch.call(selection, "EndKey", new Variant(6));
    	}
    
    	/** */
    	/**
    	 * 从选定内容或插入点开始查找文本
    	 * 
    	 * @param toFindText
    	 *            要查找的文本
    	 * @return boolean true-查找到并选中该文本,false-未查找到文本
    	 */
    	public boolean find(String toFindText) {
    		if (toFindText == null || toFindText.equals(""))
    			return false;
    		// 从selection所在位置开始查询
    		Dispatch find = word.call(selection, "Find").toDispatch();
    		// 设置要查找的内容
    		Dispatch.put(find, "Text", toFindText);
    		// 向前查找
    		Dispatch.put(find, "Forward", "True");
    		// 设置格式
    		Dispatch.put(find, "Format", "True");
    		// 大小写匹配
    		Dispatch.put(find, "MatchCase", "True");
    		// 全字匹配
    		Dispatch.put(find, "MatchWholeWord", "True");
    		// 查找并选中
    		return Dispatch.call(find, "Execute").getBoolean();
    	}
    
    	/** */
    	/**
    	 * 把选定选定内容设定为替换文本
    	 * 
    	 * @param toFindText
    	 *            查找字符串
    	 * @param newText
    	 *            要替换的内容
    	 * @return
    	 */
    	public boolean replaceText(String toFindText, String newText) {
    		if (!find(toFindText))
    			return false;
    		Dispatch.put(selection, "Text", newText);
    		return true;
    	}
    
    	/** */
    	/**
    	 * 全局替换文本
    	 * 
    	 * @param toFindText
    	 *            查找字符串
    	 * @param newText
    	 *            要替换的内容
    	 */
    	public void replaceAllText(String toFindText, String newText) {
    		while (find(toFindText)) {
    			Dispatch.put(selection, "Text", newText);
    			Dispatch.call(selection, "MoveRight");
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前插入点插入字符串
    	 * 
    	 * @param newText
    	 *            要插入的新字符串
    	 */
    	public void insertText(String newText) {
    		Dispatch.put(selection, "Text", newText);
    	}
    
    	/** */
    	/**
    	 * 
    	 * @param toFindText
    	 *            要查找的字符串
    	 * @param imagePath
    	 *            图片路径
    	 * @return
    	 */
    	public boolean replaceImage(String toFindText, String imagePath) {
    		if (!find(toFindText))
    			return false;
    		Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
    				"AddPicture", imagePath);
    		return true;
    	}
    
    	/** */
    	/**
    	 * 全局替换图片
    	 * 
    	 * @param toFindText
    	 *            查找字符串
    	 * @param imagePath
    	 *            图片路径
    	 */
    	public void replaceAllImage(String toFindText, String imagePath) {
    		while (find(toFindText)) {
    			Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
    					"AddPicture", imagePath);
    			Dispatch.call(selection, "MoveRight");
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前插入点插入图片
    	 * 
    	 * @param imagePath
    	 *            图片路径
    	 */
    	public void insertImage(String imagePath) {
    		Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
    				"AddPicture", imagePath);
    	}
    
    	/** */
    	/**
    	 * 合并单元格
    	 * 
    	 * @param tableIndex
    	 * @param fstCellRowIdx
    	 * @param fstCellColIdx
    	 * @param secCellRowIdx
    	 * @param secCellColIdx
    	 */
    	public void mergeCell(int tableIndex, int fstCellRowIdx, int fstCellColIdx,
    			int secCellRowIdx, int secCellColIdx) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		Dispatch fstCell = Dispatch.call(table, "Cell",
    				new Variant(fstCellRowIdx), new Variant(fstCellColIdx))
    				.toDispatch();
    		Dispatch secCell = Dispatch.call(table, "Cell",
    				new Variant(secCellRowIdx), new Variant(secCellColIdx))
    				.toDispatch();
    		Dispatch.call(fstCell, "Merge", secCell);
    	}
    
    	/** */
    	/**
    	 * 在指定的单元格里填写数据
    	 * 
    	 * @param tableIndex
    	 * @param cellRowIdx
    	 * @param cellColIdx
    	 * @param txt
    	 */
    	public void putTxtToCell(int tableIndex, int cellRowIdx, int cellColIdx,
    			String txt) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		Dispatch cell = Dispatch.call(table, "Cell", new Variant(cellRowIdx),
    				new Variant(cellColIdx)).toDispatch();
    		Dispatch.call(cell, "Select");
    		Dispatch.put(selection, "Text", txt);
    	}
    
    	/** */
    	/**
    	 * 在当前文档拷贝数据
    	 * 
    	 * @param pos
    	 */
    	public void copy(String toCopyText) {
    		moveStart();
    		if (this.find(toCopyText)) {
    			Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
    			Dispatch.call(textRange, "Copy");
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前文档粘帖剪贴板数据
    	 * 
    	 * @param pos
    	 */
    	public void paste(String pos) {
    		moveStart();
    		if (this.find(pos)) {
    			Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
    			Dispatch.call(textRange, "Paste");
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前文档指定的位置拷贝表格
    	 * 
    	 * @param pos
    	 *            当前文档指定的位置
    	 * @param tableIndex
    	 *            被拷贝的表格在word文档中所处的位置
    	 */
    	public void copyTable(String pos, int tableIndex) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		Dispatch range = Dispatch.get(table, "Range").toDispatch();
    		Dispatch.call(range, "Copy");
    		if (this.find(pos)) {
    			Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
    			Dispatch.call(textRange, "Paste");
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前文档末尾拷贝来自另一个文档中的段落
    	 * 
    	 * @param anotherDocPath
    	 *            另一个文档的磁盘路径
    	 * @param tableIndex
    	 *            被拷贝的段落在另一格文档中的序号(从1开始)
    	 */
    	public void copyParagraphFromAnotherDoc(String anotherDocPath,
    			int paragraphIndex) {
    		Dispatch wordContent = Dispatch.get(doc, "Content").toDispatch(); // 取得当前文档的内容
    		Dispatch.call(wordContent, "InsertAfter", "$selection$");// 插入特殊符定位插入点
    		copyParagraphFromAnotherDoc(anotherDocPath, paragraphIndex,
    				"$selection$");
    	}
    
    	/** */
    	/**
    	 * 在当前文档指定的位置拷贝来自另一个文档中的段落
    	 * 
    	 * @param anotherDocPath
    	 *            另一个文档的磁盘路径
    	 * @param tableIndex
    	 *            被拷贝的段落在另一格文档中的序号(从1开始)
    	 * @param pos
    	 *            当前文档指定的位置
    	 */
    	public void copyParagraphFromAnotherDoc(String anotherDocPath,
    			int paragraphIndex, String pos) {
    		Dispatch doc2 = null;
    		try {
    			doc2 = Dispatch.call(documents, "Open", anotherDocPath)
    					.toDispatch();
    			Dispatch paragraphs = Dispatch.get(doc2, "Paragraphs").toDispatch();
    
    			Dispatch paragraph = Dispatch.call(paragraphs, "Item",
    					new Variant(paragraphIndex)).toDispatch();
    			Dispatch range = Dispatch.get(paragraph, "Range").toDispatch();
    			Dispatch.call(range, "Copy");
    			if (this.find(pos)) {
    				Dispatch textRange = Dispatch.get(selection, "Range")
    						.toDispatch();
    				Dispatch.call(textRange, "Paste");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			if (doc2 != null) {
    				Dispatch.call(doc2, "Close", new Variant(saveOnExit));
    				doc2 = null;
    			}
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前文档指定的位置拷贝来自另一个文档中的表格
    	 * 
    	 * @param anotherDocPath
    	 *            另一个文档的磁盘路径
    	 * @param tableIndex
    	 *            被拷贝的表格在另一格文档中的序号(从1开始)
    	 * @param pos
    	 *            当前文档指定的位置
    	 */
    	public void copyTableFromAnotherDoc(String anotherDocPath, int tableIndex,
    			String pos) {
    		Dispatch doc2 = null;
    		try {
    			doc2 = Dispatch.call(documents, "Open", anotherDocPath)
    					.toDispatch();
    			Dispatch tables = Dispatch.get(doc2, "Tables").toDispatch();
    			Dispatch table = Dispatch.call(tables, "Item",
    					new Variant(tableIndex)).toDispatch();
    			Dispatch range = Dispatch.get(table, "Range").toDispatch();
    			Dispatch.call(range, "Copy");
    			if (this.find(pos)) {
    				Dispatch textRange = Dispatch.get(selection, "Range")
    						.toDispatch();
    				Dispatch.call(textRange, "Paste");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			if (doc2 != null) {
    				Dispatch.call(doc2, "Close", new Variant(saveOnExit));
    				doc2 = null;
    			}
    		}
    	}
    
    	/** */
    	/**
    	 * 在当前文档指定的位置拷贝来自另一个文档中的图片
    	 * 
    	 * @param anotherDocPath
    	 *            另一个文档的磁盘路径
    	 * @param shapeIndex
    	 *            被拷贝的图片在另一格文档中的位置
    	 * @param pos
    	 *            当前文档指定的位置
    	 */
    	public void copyImageFromAnotherDoc(String anotherDocPath, int shapeIndex,
    			String pos) {
    		Dispatch doc2 = null;
    		try {
    			doc2 = Dispatch.call(documents, "Open", anotherDocPath)
    					.toDispatch();
    			Dispatch shapes = Dispatch.get(doc2, "InLineShapes").toDispatch();
    			Dispatch shape = Dispatch.call(shapes, "Item",
    					new Variant(shapeIndex)).toDispatch();
    			Dispatch imageRange = Dispatch.get(shape, "Range").toDispatch();
    			Dispatch.call(imageRange, "Copy");
    			if (this.find(pos)) {
    				Dispatch textRange = Dispatch.get(selection, "Range")
    						.toDispatch();
    				Dispatch.call(textRange, "Paste");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			if (doc2 != null) {
    				Dispatch.call(doc2, "Close", new Variant(saveOnExit));
    				doc2 = null;
    			}
    		}
    	}
    
    	/** */
    	/**
    	 * 创建表格
    	 * 
    	 * @param pos
    	 *            位置
    	 * @param cols
    	 *            列数
    	 * @param rows
    	 *            行数
    	 */
    	public void createTable(int numCols, int numRows) {// (String pos, int
    														// numCols, int numRows)
    														// {
    	// if (!find(pos)) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		Dispatch range = Dispatch.get(selection, "Range").toDispatch();
    		Dispatch newTable = Dispatch.call(tables, "Add", range,
    				new Variant(numRows), new Variant(numCols)).toDispatch();
    		Dispatch.call(selection, "MoveRight");
    		moveEnd();
    		// }
    	}
    
    	/** */
    	/**
    	 * 在指定行前面增加行
    	 * 
    	 * @param tableIndex
    	 *            word文件中的第N张表(从1开始)
    	 * @param rowIndex
    	 *            指定行的序号(从1开始)
    	 */
    	public void addTableRow(int tableIndex, int rowIndex) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
    		Dispatch row = Dispatch.call(rows, "Item", new Variant(rowIndex))
    				.toDispatch();
    		Dispatch.call(rows, "Add", new Variant(row));
    	}
    
    	/** */
    	/**
    	 * 在第1行前增加一行
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addFirstTableRow(int tableIndex) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
    		Dispatch row = Dispatch.get(rows, "First").toDispatch();
    		Dispatch.call(rows, "Add", new Variant(row));
    	}
    
    	/** */
    	/**
    	 * 在最后1行前增加一行
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addLastTableRow(int tableIndex) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
    		Dispatch row = Dispatch.get(rows, "Last").toDispatch();
    		Dispatch.call(rows, "Add", new Variant(row));
    	}
    
    	/** */
    	/**
    	 * 增加一行
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addRow(int tableIndex) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
    		Dispatch.call(rows, "Add");
    	}
    
    	/** */
    	/**
    	 * 增加一列
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addCol(int tableIndex) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
    		Dispatch.call(cols, "Add").toDispatch();
    		Dispatch.call(cols, "AutoFit");
    	}
    
    	/** */
    	/**
    	 * 在指定列前面增加表格的列
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 * @param colIndex
    	 *            指定列的序号 (从1开始)
    	 */
    	public void addTableCol(int tableIndex, int colIndex) {
    		// 所有表格
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
    		System.out.println(Dispatch.get(cols, "Count"));
    		Dispatch col = Dispatch.call(cols, "Item", new Variant(colIndex))
    				.toDispatch();
    		// Dispatch col = Dispatch.get(cols, "First").toDispatch();
    		Dispatch.call(cols, "Add", col).toDispatch();
    		Dispatch.call(cols, "AutoFit");
    	}
    
    	/** */
    	/**
    	 * 在第1列前增加一列
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addFirstTableCol(int tableIndex) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
    		Dispatch col = Dispatch.get(cols, "First").toDispatch();
    		Dispatch.call(cols, "Add", col).toDispatch();
    		Dispatch.call(cols, "AutoFit");
    	}
    
    	/** */
    	/**
    	 * 在最后一列前增加一列
    	 * 
    	 * @param tableIndex
    	 *            word文档中的第N张表(从1开始)
    	 */
    	public void addLastTableCol(int tableIndex) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		// 要填充的表格
    		Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
    				.toDispatch();
    		// 表格的所有行
    		Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
    		Dispatch col = Dispatch.get(cols, "Last").toDispatch();
    		Dispatch.call(cols, "Add", col).toDispatch();
    		Dispatch.call(cols, "AutoFit");
    	}
    
    	/** */
    	/**
    	 * 自动调整表格
    	 * 
    	 */
    	public void autoFitTable() {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		int count = Dispatch.get(tables, "Count").toInt();
    		for (int i = 0; i < count; i++) {
    			Dispatch table = Dispatch.call(tables, "Item", new Variant(i + 1))
    					.toDispatch();
    			Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
    			Dispatch.call(cols, "AutoFit");
    		}
    	}
    
    	/** */
    	/**
    	 * 调用word里的宏以调整表格的宽度,其中宏保存在document下
    	 * 
    	 */
    	public void callWordMacro() {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		int count = Dispatch.get(tables, "Count").toInt();
    		Variant vMacroName = new Variant("Normal.NewMacros.tableFit");
    		Variant vParam = new Variant("param1");
    		Variant para[] = new Variant[] { vMacroName };
    		for (int i = 0; i < para.length; i++) {
    			Dispatch table = Dispatch.call(tables, "Item", new Variant(i + 1))
    					.toDispatch();
    			Dispatch.call(table, "Select");
    			Dispatch.call(word, "Run", "tableFitContent");
    		}
    	}
    
    	/** */
    	/**
    	 * 设置当前选定内容的字体
    	 * 
    	 * @param boldSize
    	 * @param italicSize
    	 * @param underLineSize
    	 *            下划线
    	 * @param colorSize
    	 *            字体颜色
    	 * @param size
    	 *            字体大小
    	 * @param name
    	 *            字体名称
    	 */
    	public void setFont(boolean bold, boolean italic, boolean underLine,
    			String colorSize, String size, String name) {
    		Dispatch font = Dispatch.get(selection, "Font").toDispatch();
    		Dispatch.put(font, "Name", new Variant(name));
    		Dispatch.put(font, "Bold", new Variant(bold));
    		Dispatch.put(font, "Italic", new Variant(italic));
    		Dispatch.put(font, "Underline", new Variant(underLine));
    		Dispatch.put(font, "Color", colorSize);
    		Dispatch.put(font, "Size", size);
    	}
    
    	/** */
    	/**
    	 * 文件保存或另存为
    	 * 
    	 * @param savePath
    	 *            保存或另存为路径
    	 */
    	public void save(String savePath) {
    		Dispatch.call(
    				(Dispatch) Dispatch.call(word, "WordBasic").getDispatch(),
    				"FileSaveAs", savePath);
    	}
    
    	/** */
    	/**
    	 * 关闭当前word文档
    	 * 
    	 */
    	public void closeDocument() {
    		if (doc != null) {
    			Dispatch.call(doc, "Save");
    			Dispatch.call(doc, "Close", new Variant(saveOnExit));
    			doc = null;
    		}
    	}
    
    	/** */
    	/**
    	 * 关闭全部应用
    	 * 
    	 */
    	public void close() {
    		closeDocument();
    		if (word != null) {
    			Dispatch.call(word, "Quit");
    			word = null;
    		}
    		selection = null;
    		documents = null;
    	}
    
    	/** */
    	/**
    	 * 打印当前word文档
    	 * 
    	 */
    	public void printFile() {
    		if (doc != null) {
    			Dispatch.call(doc, "PrintOut");
    		}
    	}
    
    	public static void main(String args[]) throws Exception {
    
    		MSWordManager msWordManager = new MSWordManager(true);
    		msWordManager.createNewDocument();
    		msWordManager.insertText("aaaaaaaaaaaaaaaaaaaaa");
    		msWordManager.moveEnd();
    		msWordManager.close();
    	}
    
    }
    


    如果想在把表格添加边框:

    /**
    	 * 创建表格
    	 * 
    	 * @param pos
    	 *            位置
    	 * @param cols
    	 *            列数
    	 * @param rows
    	 *            行数
    	 */
    	public void createTable(int numCols, int numRows) { // (String pos, int
    														// numCols, int numRows)
    														// {
    	// if (!find(pos)) {
    		Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
    		Dispatch range = Dispatch.get(selection, "Range").toDispatch();
    		Dispatch newTable = Dispatch.call(tables, "Add", range,
    				new Variant(numRows), new Variant(numCols)).toDispatch();
    		Dispatch.call(selection, "MoveRight");
    		
    		Dispatch borders = Dispatch.get(newTable, "Borders").toDispatch();
    		for(int i=1;i<7;i++) {
    			
    			Dispatch border = Dispatch.call(borders, "Item",new Variant(i)).toDispatch();
    			Dispatch.put(border, "Visible", new Variant(true));
    		}
    		moveEnd();
    		// }
    	}
    	/*隐藏文档表格指定边框
    	   * -1:上框线
    	   * -2:左侧框线
    	   * -3:为下边框
    	   * -4:右侧框线
    	   * -5:横向框线
    	   * -6:纵向框线
    	   * -7:方向从左上角开始的斜向边框线
    	   * -8:方向从左下角开始的斜向边框线
    	    public void deleteTableBorder(int tableIndex){
    	    	wdTable = getTable(tableIndex);
    	    	Dispatch borders = Dispatch.get(wdTable, "Borders").toDispatch();
    	    	Dispatch border = Dispatch.call(borders, "Item",new Variant(-3)).toDispatch();
    	    	//Dispatch.put(border, "LineWidth", new Variant(1));
    	        Dispatch.put(border, "Visible", new Variant(false));
    	    }
    	   */

    //乱码问题:

    /*
    	 * 更改编码格式
    	 */
    	private static String changeCode(String str){
    		String s = "";
    		     try {
    				s = new String(str.getBytes("gbk"));
    			} catch (UnsupportedEncodingException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}   
    		    System.out.println(s);
    		return s;
    	}



    转自:http://dohadbest.blog.sohu.com/39807935.html

    展开全文
  • 假如要生成abc.docx,则fileName传入abc即可 * @param paramMap 替换的参数集合 * @return 生成word成功返回生成的文件的路径,失败返回空字符串 */ public static String createWord(String templatePath, String ...
  • 学位论文,一般包括封面、目录...操作1、a、b两部分顺序相连,若它们页码格式不同或者仅有一部分需要打印页码,则把光标放第二部分b的第一页上,在第一个字符(空格也是字符)前点击,或者在a部分的最后一页上最后一个
  • Word中为三位数字设置带圈字符(转)[@more@]  从2000版本开始,Word提供了设置带圈字符的功能,选定相应的字符,执行“格式”菜单下的“中文版式→带圈字符”命令,然后“带圈字符”对话框中选择好圈号,单击...
  • word2003和word2007如何添加和删除脚注

    万次阅读 2012-05-01 23:57:44
    word2003: 一、更改脚注的数字格式  步骤如下:  1.将插入点置于需要更改脚注格式的节中,如果没有分节,可将插入点置于文档中的任意位置。  2.执行“插入”→“引用”→“脚注”,打开“脚注和尾注...
  • 原文标题:Adding images and layout to your Docx4j-generated word documents, part 1 原文链接:http://blog.iprofs.nl/2012/10/22/adding-images-and-layout-to-your-docx4j-generated-word-documents-part-1/ ...
  • freemarker制作word模板

    千次阅读 2019-08-29 17:21:59
    1.调用free marker导出word @Test public void testExportWord() { EnergyVo vo = new EnergyVo(); // 为ftl中所用的属性集合对象 File file = null; String fileName = "test.ftl"; try {...
  • word方框中打对勾的方法

    千次阅读 2013-04-26 20:42:36
    接着,选中√,选择菜单:(word2003)格式→中文版式→带圈字符;(word2007)开始→带圈字符;最后,在弹出的“带圈字符”窗口中选中“增大...方法2:先输入√,选中它,点击word工具栏上的字符边框,就是那个A图标;
  • word精彩实例互动教程》...1、Word互动教程是一款简单、有趣、互动式的学习Office Word 2019的新工具。此应用将向您展示Word 2019的绝大部分功能点。 2、应用包含大量操作提示,指导您一步一步地实现Office Wo...
  • Word学习笔记分享

    千次阅读 2019-02-22 13:57:10
    为文字添加填充与边框 1-13 字体其他效果 为字体添加着重号、删除线、上下标等效果 Ctrl+D ——打开字体选项栏 1-14 项目符号 为成段的文字添加相同的符号标识 可以分级操作,快捷键为 TAB 和 Shift+TAB 1-15 项目...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    69、巧调Word字符间距 93 70、按“Alt+Shift+P”组合键自动插入页码 93 71、A4两页内容妙“嫁”A3页 93 72、巧用“单色打印” 93 73、巧妙计算公式中的部分值 93 74、快速选定“空白”和“数据”单元格 93 75、让...
  • word技巧

    千次阅读 2018-03-01 21:40:22
    word 高效经典教程(整理版)目录一分钟驾驭word 高效经典教程(整理版)... 6A、基础知识... 61、度量单位... 62、WORD中文字字号与磅的对应关系... 63、字体文件格式... 7B、文本编辑... 71、快速移动文档... 72、...
  • 使用java Apache poi 根据word模板生成word报表

    万次阅读 多人点赞 2018-03-24 16:19:37
    使用java Apache poi 根据word模板生成word报表 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行。 代码示例下载:...
  • word

    2011-03-19 19:13:00
      (1)如果横线不长,可以采用设置下划线的方法:先按一下下划线工具“U”,再根据需要输入几个字符,按一些空格。例如:“姓名”、“学校”后边跟的空白字符下划线。例:姓名 <br />(2)如果...
  • word文件处理技巧整理

    2010-05-14 13:50:00
    两种方法:第一:选中要添加方框的文字,点击快捷工具栏的如图:第二:选中需要添加方框的文字,点击:格式-边框和底纹,选择需要添加边框样式但是加入带圈字符:在word2003中:菜单”—“中文版式”—“带圈文字”...
  • Word排版摘录

    2016-05-23 16:05:41
    1.Word基础文字下方的蓝色/红色波浪线:蓝色波浪线:语法问题, 红色波浪线:拼写问题 去掉波浪线:文件 -> 选项 -> 校对 -> 去掉勾选“键入时检查拼写”和“键入时标记语法错误” 【首行缩进】通过首行缩进2个...
  • CSS文本,列表,边框,背景属性 1. css常用文本属性: 属性 描述 color 文本颜色 text-decoration 向文本添加修饰 letter-spacing 增加或减少字符间距 word-spacing 增加或减少字间距 direction ...
  • 第1章 Word 2003基础一、内容提示本章主要讲述创建、保存、查看、管理和打印文档的基本操作。对Word 2003的工作环境也作了实用性的介绍,以及如何使用“帮助”解决问题。二、考试基本要求(一)掌握的内容掌握启动Word...
  • word 快捷键

    2018-06-12 12:19:26
    69.输入算法符号:/特殊字符 V1-9 输入法:加减乘除 70.输入生僻字 输入法: u笔画输入 /也可以手写 71.输入带勾的框: 输入法: 中文分数 之后按f9即可 71.添加序号: ctrl+alt+l ...
  • 2010年全国职称计算机考试Word2003大纲第1章??? Word 2003基础一、内容提示本章主要讲述创建、保存、查看、管理和打印文档的基本操作。对Word 2003的工作环境也作了实用性的介绍,以及如何使用“帮助”解决问题。二...
  • 此外还可以在文本框中添加其他说明文字,为文本框设置边框和底纹效果等。   利用交叉引用在页眉或页眉中插入标题  在页眉和页脚中插入章节号和标题是经常用的排版格式,根据章节号和标题...
  • 计算机基础word

    2019-11-05 13:47:02
    关于word 1.快捷键 1.快捷键esc:退出、停止 F1:帮助 F2:重命名 F5:刷新 a)F12:另存为 prtsc 屏幕打印件 tab:制表键 、Numlock(数字键的开关)、 b)capslock:大小写锁定键、shift:上档键 、ctrl:控制键 单...
  • word使用技巧

    2014-01-14 10:53:09
    首先把图片复制到 剪贴板中,然后打开替换对话框,在“查找内容”框中输入将被替换的文字,接着在“替换为”框中输入“^c”(注意:输入的一定要是半角字符,c要小写),单击替换 即可。说明:“^c”的意思就是指令...
  • word操作

    2019-10-13 15:56:20
    WORD初识 键盘快捷键:文档内容的选取 word的本质是个压缩包 模板下载&模板路径 WORD选项 格式刷 限制编辑 字体 段落 查找 /替换 通配符的查找&替换 插入 绘图工具 分节符 颜色 英文的审阅 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,154
精华内容 5,261
关键字:

word添加字符边框