精华内容
下载资源
问答
  • 调用外部程序打开其关联文件一般有两种情况:第种:windows中文件已与程序自动关联,例如.docx文件会自动关联Word,.pdf文件一般会关联adobe reader或当前设置的默认pdf软件;这种情况下,直接使用如下命令即可...

    调用外部程序打开其关联文件一般有两种情况:

    第一种:

    在windows中文件已与程序自动关联,例如.docx文件会自动关联Word,.pdf文件一般会关联adobe reader或当前设置的默认pdf软件;

    0b8fb7fd8df4d20dbfac80394a6e039f.png

    这种情况下,直接使用如下命令即可:

    exec cmd /c "$file_path";

    这个命令的本质是调用了cmd来执行打开操作,而其对应的软件路径则由在windows注册表中由文件后缀名关联起来的。

    第二种:

    没有自动关联起来的文件,例如我想用notepad++打开如下这个自定义后缀的文件:

    218ae4a52064200bdc5da95f5057adc5.png

    首先需要知道notepad++主程序路径,如下:

    d61e73a79847d90573be269010995ead.png

    然后执行如下命令即可:

    exec cmd /c "C:/Program Files/Notepad++/notepad++.exe" \"C:/Users/ZWT/Desktop/test/自定义后缀文件.hyperproc"

    但是,有些exe主程序是不支持外部传参的,这点需要注意。


    前面这两个命令可能会有一个缺点:部分第三方软件会占用当前进程导致主进程卡死。

    所以一般采用多线程来打开文件,这块也分为两种:

    第一种:

    利用Thread库来实现,如下:

    package require Thread;thread::send -async [thread::create] \[list exec cmd "/c" "$file_path"];package require Threadthread::send -async [thread::create] \[list exec cmd "/c" "C:/Program Files/Notepad++/notepad++.exe" \"C:/Users/ZWT/Desktop/test/自定义后缀文件.hyperproc"];

    第二种:

    利用twapi库实现,注意写法,-cmdline后面所有的参数,即使是带空格的路径,也要写在一个括号内:
    package require twapitwapi::create_process "" \-cmdline "C:/Program Files/Notepad++/notepad++.exe \C:/Users/ZWT/Desktop/test/自定义后缀文件.hyperproc;

    关于-cmdline的写法,可参考:

    【分享】分享一款tcl/tk开发中的  中的窗口操作Tab页:

    b6782aaa4d41bbf8d43ffe573e219854.png

    所以上面的代码,可以这样写:

    package require twapitwapi::create_process "" \-cmdline "\"C:/Program Files/Notepad++/notepad++.exe\" \C:/Users/ZWT/Desktop/test/自定义后缀文件.hyperproc"
    展开全文
  • Java使用Jacob操作word

    千次阅读 2019-07-16 15:00:09
    打开一个已存在的文档4.把选定的内容或插入点向上移动5.把选定的内容或者插入点向下移动6.把选定的内容或者插入点向左移动7.把选定的内容或者插入点向右移动8.把插入点移动到文件首位置9.把插入点移动到文件结尾位置...

    package com.jacob.newdemo;
     
    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;
     
    public class WordBean {
        // word文档
        private Dispatch doc;
        // word运行程序对象
        private ActiveXComponent word;
        // 所有word文档集合
        private Dispatch documents;
        // 选定的范围或插入点
        private Dispatch selection;
        private boolean saveOnExit = true;
     
    

    1.设置word应用可见

    
       /**
        * @param visible
        *            true表示word应用程序可见
        */
       public WordBean(boolean visible) {
           // TODO Auto-generated constructor stub
           if (word == null) {
               word = new ActiveXComponent("Word.Application");
               word.setProperty("Visible", new Variant(visible));
           }
           if (documents == null)
               documents = word.getProperty("Documents").toDispatch();
       }
    
    

    2.创建一个新的word文档

    
       /**
        * 创建一个新的word文档
        */
       public void createNewDocument() {
           doc = Dispatch.call(documents, "Add").toDispatch();
           selection = Dispatch.get(word, "Selection").toDispatch();
       }
    
    

    3.打开一个已存在的文档

    
       /**
        * 打开一个已存在的文档
        *
        * @param docPath
        */
       public void openDocument(String docPath) {
           closeDocument();
           doc = Dispatch.call(documents, "Open", docPath).toDispatch();
           selection = Dispatch.get(word, "Selection").toDispatch();
       }
    
    

    4.把选定的内容或插入点向上移动

    
       /**
        * 把选定的内容或插入点向上移动
        *
        * @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");
       }
    
    

    5.把选定的内容或者插入点向下移动

    
       /**
        * 把选定的内容或者插入点向下移动
        *
        * @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");
       }
    
    

    6.把选定的内容或者插入点向左移动

    
       /**
        * 把选定的内容或者插入点向左移动
        *
        * @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");
           }
       }
    
    

    7.把选定的内容或者插入点向右移动

    
       /**
        * 把选定的内容或者插入点向右移动
        *
        * @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");
       }
    
    

    8.把插入点移动到文件首位置

    
       /**
        * 把插入点移动到文件首位置
        */
       public void moveStart() {
           if (selection == null)
               selection = Dispatch.get(word, "Selection").toDispatch();
           Dispatch.call(selection, "HomeKey", new Variant(6));
       }
    
    

    9.把插入点移动到文件结尾位置

    
       public void moveEnd() {
           if (selection == null)
               selection = Dispatch.get(word, "Selection").toDispatch();
           Dispatch.call(selection, "EndKey", new Variant(6));
       }
    

    10.向 document 中插入文本内容

       /**
        * 向 document 中插入文本内容
        *
        * @param textToInsert
        *            插入的文本内容
        */
       public void insertText(String textToInsert) {
           // 在指定的位置插入文本内容
           Dispatch.put(selection, "Text", textToInsert);
           // 取消选中,应该就是移动光标
           Dispatch format = Dispatch.get(selection, "ParagraphFormat").toDispatch();
           // 设置段落格式为首行缩进2个字符
           Dispatch.put(format, "CharacterUnitFirstLineIndent", new Variant(2));
           Dispatch.call(selection, "MoveRight", new Variant(1), new Variant(1));
           //moveRight(1);
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           //Dispatch.call(selection, "MoveUp");
           //moveDown(1);
       }
    

    11.插入标题

       /**
        * 插入标题
        * @param num  标题编号
        * @param level 标题级别:-2:一级标题;-3:二级标题;-4:三级标题;-5:四级标题
        * @param text 标题题目
        */
       public void insertTitle(String num, int level, String text) {
           Dispatch activeDocument = Dispatch.get(word, "ActiveDocument").toDispatch();
    
           //Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           //moveDown(1);
           Dispatch.put(selection, "Text", num + " " + text);
           Dispatch style = Dispatch.call(activeDocument, "Styles", new Variant(level)).toDispatch();;
           Dispatch.put(selection, "Style", style);
           moveRight(1);
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           //moveDown(1);
       }
       
    

    12.创建目录

       /**
        * 创建目录
        */
       public void createCatalog() {
           Dispatch activeDocument = Dispatch.get(word, "ActiveDocument").toDispatch();
           
           Dispatch.call(selection, "HomeKey", new Variant(6)); // 将光标移到文件首的位置
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           moveUp(1);
           
           Dispatch.put(selection, "Text", "目录");
           Dispatch style = Dispatch.call(activeDocument, "Styles", new Variant(-2)).toDispatch();;
           Dispatch.put(selection, "Style", style);
           Dispatch alignment = Dispatch.get(selection, "ParagraphFormat").toDispatch();// 段落格式
           Dispatch.put(alignment, "Alignment", "1"); // (1:置中 2:靠右 3:靠左)
           moveRight(1);
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           
           Dispatch myRange = Dispatch.call(selection, "Range").toDispatch();
           
           /** 获取目录 */
           Dispatch tablesOfContents = Dispatch.get(activeDocument, "TablesOfContents").toDispatch();
           
           Dispatch add = Dispatch.call(tablesOfContents, "Add", myRange, new Variant(true),
                   new Variant(1), new Variant(3), new Variant(true), new Variant(true), new Variant('T'),
                   new Variant(true), new Variant(true), new Variant(1), new Variant(true)).toDispatch();
           
    //        Dispatch.put(add, "RightAlignPageNumbers", new Variant(true));
    //        Dispatch.put(add, "UseHeadingStyles", new Variant(true));
    //        Dispatch.put(add, "UpperHeadingLevel", new Variant(1));
    //        Dispatch.put(add, "LowerHeadingLevel", new Variant(3));
    //        Dispatch.put(add, "IncludePageNumbers", new Variant(true));
    //        Dispatch.put(add, "UseHyperlinks", new Variant(true));
    //        Dispatch.put(add, "HidePageNumbersInWeb", new Variant(true));
    
    //        Dispatch.call(add, "Add", myRange);
           
           //插入一个分页符
           Dispatch.call(selection, "InsertBreak", new Variant(7));
           Dispatch.call(selection, "TypeBackspace");
       }
       
    

    13.更新目录

       
       /**
        * 更新目录
        * @param outputPath
        * @param doc
        */
       public void updateCatalog(String outputPath, Dispatch doc) {
           /** 打开word文档 */
           //Dispatch doc = Dispatch.invoke(documents, "Open", Dispatch.Method,
           //        new Object[] { outputPath, new Variant(false), new Variant(true) }, new int[1]).toDispatch();
           //Dispatch doc = Dispatch.call(documents, "Open", outputPath).toDispatch();
           
           Dispatch activeDocument = word.getProperty("ActiveDocument").toDispatch();
           /** 获取目录 */
           Dispatch tablesOfContents = Dispatch.get(activeDocument, "TablesOfContents").toDispatch();
           /** 获取第一个目录。若有多个目录,则传递对应的参数  */
           Variant tablesOfContent = Dispatch.call(tablesOfContents, "Item", new Variant(1));
           /** 更新目录,有两个方法:Update 更新域,UpdatePageNumbers 只更新页码 */
           Dispatch toc = tablesOfContent.toDispatch();
           toc.call(toc, "Update");
    
           /** 另存为 */
           Dispatch.call(Dispatch.call(word, "WordBasic").getDispatch(), "FileSaveAs", outputPath);
           //System.out.println("更新目录");
           /** 关闭word文档 */
           Dispatch.call(doc, "Close", new Variant(false));
    
           /** 退出word进程 */
           close();
       }
       
    

    14.在当前插入点插入图片

       /**
        * 在当前插入点插入图片
        *
        * @param imagePath
        *            图片路径
        */
       public void insertImage(String imagePath, int c, int tc, String title) {
           Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(), "AddPicture", imagePath);
           
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           Dispatch alignment = Dispatch.get(selection, "ParagraphFormat").toDispatch();// 段落格式
           Dispatch.put(alignment, "Alignment", "1"); // (1:置中 2:靠右 3:靠左)
           //moveRight(1);
           putText("图" + c + "-" + tc + " " + title);
           moveRight(1);
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
       }
    

    15.插入空行

       public void insertBlankRow() {
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           Dispatch alignment = Dispatch.get(selection, "ParagraphFormat").toDispatch();// 段落格式
           Dispatch.put(alignment, "Alignment", "3"); // (1:置中 2:靠右 3:靠左)
       }
       
    

    16.创建表格

       /**
        * 创建表格
        *
        * @param cols
        *            列数
        * @param rows
        *            行数
        */
       public void createTable(int numCols, int numRows, int c, int tc, String title) {
    //        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();
           
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           Dispatch alignment = Dispatch.get(selection, "ParagraphFormat").toDispatch();// 段落格式
           Dispatch.put(alignment, "Alignment", "1"); // (1:置中 2:靠右 3:靠左)
           putText("表" + c + "-" + tc + " " + title);
           moveRight(1);
           Dispatch.call(selection, "TypeParagraph");// 插入一个空行
           
           Dispatch activeDocument = Dispatch.get(word, "ActiveDocument").toDispatch();
           Dispatch tables1 = Dispatch.get(activeDocument, "Tables").toDispatch();
           
           Dispatch range = Dispatch.get(selection, "Range").toDispatch();
           Dispatch.call(tables1, "Add", range, new Variant(numRows), new Variant(numCols), new Variant(1), new Variant(0)).toDispatch();
           
           Dispatch.call(selection, "MoveDown", new Variant(5), new Variant(numRows), new Variant(1));
           Dispatch format = Dispatch.get(selection, "ParagraphFormat").toDispatch();
           Dispatch.put(format, "Alignment", new Variant(1));
           
           moveLeft(1);
       }
    

    17.向选中的单元格中写入数据

        /**
         * 向选中的单元格中写入数据
         * @param text
         */
        public void putText(String text) {
            Dispatch.put(selection, "Text", text);
        }
    

    18.增加一行

       /**
        * 增加一行
        *
        * @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");
       }
    

    19.合并单元格

        /**
         * 合并单元格
         *
         * @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);
        }
    

    20.在指定的单元格里填写数据

        /**
         * 在指定的单元格里填写数据
         *
         * @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);
        }
    

    21.增加一列

       /**
        * 增加一列
        *
        * @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");
       }
    

    22.设置当前选定内容的字体

       /**
        * 设置当前选定内容的字体
        *
        * @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);
       }
    

    23.文件保存或另存为

       /**
        * 文件保存或另存为
        *
        * @param savePath
        *            保存或另存为路径
        */
       public void save(String savePath) {
           Dispatch.call((Dispatch) Dispatch.call(word, "WordBasic").getDispatch(), "FileSaveAs", savePath);
       }
    

    24.关闭当前word文档

       /**
        * 关闭当前word文档
        */
       public void closeDocument() {
           if (doc != null) {
               Dispatch.call(doc, "Save");
               Dispatch.call(doc, "Close", new Variant(saveOnExit));
               doc = null;
           }
       }
    

    25.关闭全部应用

       /**
        * 关闭全部应用
        */
       public void close() {
           closeDocument();
           if (word != null) {
               Dispatch.call(word, "Quit");
               word = null;
           }
           selection = null;
           documents = null;
       }
    }
    
    展开全文
  • 在Word中制作表格时,有时需要对行列宽度进行一些微调,请问除了进行表格属性外,有没有其他更方便的方法呢? 答:在进行Word表格编辑时,如果要知道行或列的宽度,只需在按住鼠标左键调行的同时按下右键,标尺上...
  • 每个shell命令的进程号通常是不同的,为了每次调用$$时得到的进程号相同,必须把这4行放在一条命令,这里用分号把它们连接成一条命令(书写时为了易读,用\拆成了多行),这样每次.$$便是同一个文件了。...
  • 5、超级文件转发:不限制文件大小,转发内容可为单个或多个文件,勾选转发内容后系统将会把有关文件的下载链接发送到转发目标用户站内短消息或邮件供其下载。 6、缩略图预览:前台用户当前目录下的所有图片文件以...
  • 说明:Oracle要删除一个用户,必须要具有dba的权限。而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle权限...
  •  实例096 数组添加一个数组 113  实例097 不改变长度删除数组的元素 115  实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117  实例099 使用选择排序法对一维数组进行排序 117  实例...
  • if ((read = fopen(filename, "r")) == NULL) //只读方式打开一个文本文件,只允许读数据 { cout 文件不存在,请确认好再输入!" ; return -1; } ResetHX(); //读取文件前先清空哈希表 while (!feof(read)) /...
  • 实例271——实现应用程序系统只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用程序 实例275——使用剪贴板实现程序...
  • 2004-2010软考程序员真题

    热门讨论 2012-09-27 12:33:00
     15、在Word中"打开"文档的作用是  A)将指定的文档从内存中读入,并显示出来 B)为指走的文档打开一个空白窗口  C)将指定的文档从外存中读入,并显示出来 D)显示并打印指走文档的内容  16、Word的"文件"命令菜单...
  • 实例271——实现应用程序系统只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用程序 实例275——使用剪贴板实现...
  • 实例096 数组添加一个数组 113 实例097 不改变长度删除数组的元素 115 实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117 实例099 使用选择排序法对一维数组进行排序 117 实例100 使用冒泡排序...
  • C#.net_经典编程例子400

    热门讨论 2013-05-17 09:25:30
    311 7.9 程序控制 312 实例222 打开控制面板的程序 313 实例223 添加程序托盘 314 实例224 不出现任务栏上的程序 314 实例225 怎样调用外部的Exe文件 315 实例226 关闭外部开启...
  • 实例057 RichTextBox控件显示RTF格式的文件 66 实例058 为RichTextBox控件添加自定义滚动条 68 实例059 RichTextBox控件实现关键字描红 69 实例060 RichTextBox控件实现项目编号功能 71 实例061...
  • 实例095 数组添加一个元素 实例096 数组添加一个数组 实例097 不改变长度删除数组的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • 实例095 数组添加一个元素 实例096 数组添加一个数组 实例097 不改变长度删除数组的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • 实例095 数组添加一个元素 实例096 数组添加一个数组 实例097 不改变长度删除数组的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • vss如何使用(图解)

    热门讨论 2011-04-25 15:10:48
    VSS可以实现一个文件被多个项目共享(share)。一个项目对文件的改动可以自动反映到其他共享的项目去。这正提倡了代码重用。file菜单的properties,点击link,可以查看某一文件的共享情况。 拆分...
  • Excel新增工具集

    2011-12-20 09:30:27
    1、多个工作簿的多表导入到一个工作簿的多工作表:将同一文件夹下的各工作簿所有的非空工作表合并到当前工作簿,各新建工作表仍保持原工作簿的原工作表内容不变。新建工作表的命名有两种方式:一种是以...
  • UltraEdit-32绿色版

    热门讨论 2012-01-31 01:08:38
    我们可以打开一个文件,然后选择“Edit”菜单下的“Hex Edit”,文件就变为十六进制的了,做了相应的修改后,你可以用同样的方法将退出十六进制编辑状态。  2. 多文件的查找和替换  UltraEdit支持多文件的...
  • (4)搜索:要 chm 文件中能使用全文搜索功能,只要创建 chm 文件打开一个开关就行了,这样只要搜索框输入要搜索的内容,chm 就会把全部包含该内容的 HTML 文件列出来,并把搜索内容高亮显示。...
  • Axx:ARJ压缩文件的分包序号文件,用于将一个文件压至几个小的压缩包(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...
  • UltraEdit 绿色解压版

    热门讨论 2010-01-28 11:07:35
    我们可以打开一个文件,然后选择“Edit”菜单下的“Hex Edit”,文件就变为十六进制的了,做了相应的修改后,你可以用同样的方法将退出十六进制编辑状态。  2. 多文件的查找和替换  UltraEdit支持多文件的查找...
  • 一个标签代表一页已打开的文件夹或者图片, 可以同时打开多个文件夹或者图片.   2. 随心所欲管理照片 添加标签、指定类别以及对照片评级. 单击鼠标即可标记图像、指定颜色标记和设置评级, 并将它们集中起来以供...
  • 后来看到一个插 件:txtBrowser,它可以高亮文本文件,而且可以像Word一样将标题大纲显示,这样很方便定位与阅读,这个插件还有很多其他功能,Vimer们 可以试试,而且是国人写的哦,中文帮助文档呢。呵呵。 也许是...
  • F6 移到下一个窗格,SHIFT F6移动到拆分的工作簿的上一个窗格,CTRL F6,CTRL SHIFT F6移动到下/上一工作簿 F7 拼写检查,CTRL F7执行“移动”命令,或使用箭头键移动窗口 F8 扩展选取定区域,Alt F8激活宏...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0237 如何实现一个应用程序只能打开一个进程 158 7.4 其他数据处理技术 159 0238 对计算结果四舍五入 159 0239 获取一个字符的ASCII值 159 0240 判断字符串是否有文字符 160 0241 如何从字符串提取...
  • 会计理论考试题

    2012-03-07 21:04:40
    23.如果要把C盘某个文件夹的一些文件复制到C盘的另外一个文件选定文件后,若采用拖放操作,可以用___B___目标的方法。 A、直接拖至 B、Ctrl十拖至 C、Alt十拖至 D、单击 24.Windows98的磁盘的根文件夹是...
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    01015获取Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    【删除选中区域图形】 将工作表中当前选中区域的所有图片与图形删除。 【删除所有导入图形】 将工作表中存在的所有图片与图形瞬间删除。 【批量导入图片】 将指定文件夹或包含子文件夹中所有图片瞬间(也可以按...

空空如也

空空如也

1 2 3 4 5 6
收藏数 113
精华内容 45
关键字:

在word中当前已打开一个文件