【2008-6月 bbs】
前面曾贴出TortoiseSVN可以调用word进行doc文件比较的图。
今天扫视了下 TortoiseSVN\Diff-Scripts目录,发现了奥秘:
diff-doc.js文件!
其内容如下:
QUOTE:
var objArgs,num,sBaseDoc,sNewDoc,objScript,word,destination;
// Microsoft Office versions for Microsoft Windows OS
var vOffice2000 = 9;
var vOffice2002 = 10;
var vOffice2003 = 11;
var vOffice2007 = 12;
// WdCompareTarget
var wdCompareTargetSelected = 0;
var wdCompareTargetCurrent = 1;
var wdCompareTargetNew = 2;
// WdViewType
var wdMasterView = 5;
var wdNormalView = 1;
var wdOutlineView = 2;
// WdSaveOptions
var wdDoNotSaveChanges = 0;
var wdPromptToSaveChanges = -2;
var wdSaveChanges = -1;
objArgs = WScript.Arguments;
num = objArgs.length;
if (num < 2)
{
WScript.Echo("Usage: [CScript | WScript] diff-doc.js base.doc new.doc");
WScript.Quit(1);
}
sBaseDoc = objArgs(0);
sNewDoc = objArgs(1);
objScript = new ActiveXObject("Scripting.FileSystemObject"
);
if ( ! objScript.FileExists(sBaseDoc))
{
WScript.Echo("File " + sBaseDoc + " does not exist. Cannot compare the documents.");
WScript.Quit(1);
}
if ( ! objScript.FileExists(sNewDoc))
{
WScript.Echo("File " + sNewDoc + " does not exist. Cannot compare the documents.");
WScript.Quit(1);
}
objScript = null;
try
{
word = WScript.CreateObject("Word.Application")
;
}
catch(e)
{
WScript.Echo("You must have Microsoft Word installed to perform this operation.");
WScript.Quit(1);
}
word.visible = true;
// Open the new document
destination = word.Documents.Open(sNewDoc)
;
//
If the Type property returns either wdOutlineView or wdMasterView and
the Count property returns zero, the current document is an outline.
if
(((destination.ActiveWindow.View.Type == wdOutlineView) ||
(destination.ActiveWindow.View.Type == wdMasterView)) &&
(destination.Subdocuments.Count == 0))
{
// Change the Type property of the current document to normal
destination.ActiveWindow.View.Type = wdNormalView;
}
// Compare to the base document
if (Number(word.Version) <= vOffice2000)
{
// Compare for Office 2000 and earlier
destination.Compare(sBaseDoc);
}
else
{
// Compare for Office XP (2002) and later
destination.Compare(sBaseDoc, "Comparison", wdCompareTargetNew, true, true);
}
// Show the comparison result
if (Number(word.Version) < vOffice2007)
{
word.ActiveDocument.Windows(1).Visible = 1;
}
// Mark the comparison document as saved to prevent the annoying
// "Save as" dialog from appearing.
word.ActiveDocument.Saved = 1;
// Close the first document
if (Number(word.Version) >= vOffice2002)
{
destination.Close(wdDoNotSaveChanges);
}
这段代码揭示了用脚本控制word的冰山一角。
收藏
分享到:
相关推荐
编辑`post-commit`脚本,设置自动更新命令: ```bash #!/bin/sh REPOS="$1" REV="$2" svn up --username=woody --password=woody http://127.0.0.1/boqii/www ``` 6. **重启Apache服务**: ```bash ...
SVN,全称为Subversion,是一种版本控制系统,用于管理...总的来说,SVN 是一个强大的版本控制系统,对于软件开发团队来说必不可少,而 Word 则是日常办公中常用的文档编辑工具,掌握这些基础操作能显著提升工作效率。
项目的根目录通常包含文档、源代码、构建脚本等。为了保持清晰,可以使用标准的目录结构,如`trunk`(主开发线)、`branches`(分支)和`tags`(标记,用于保存特定版本)。 #### 2-3:命名规则 命名规则应清晰、...
龙芯开发系列word文档 本文档涵盖了龙芯开发系列的各个方面,从编译龙芯BIOS(PMON)开始到分析源代码,提供了详细的指导和经验分享。以下是本文档中的知识点总结: 一、SVN 工具的使用 * 下载 SVN 工具以下载 ...
"git_Magic_CN"这个名字暗示这可能是一本中文版的Git进阶教程,涵盖了Git的一些高级特性,如子模块、工作流策略、钩子脚本、rebasing等。这些内容对于团队协作和项目管理尤为重要,能帮助开发者实现更高效、更整洁的...
github-to-wordpress-deploy-script, 在Github上和部署到 WordPress,Bash脚本处理标签 到 WordPress.org-部署...脚本执行的操作这个脚本将关闭远程GIT和SVN存储库,使用指定的分支标记发布,并将所有内容提交给 Word
这份“Gradle使用文档 中文WORD版”虽然基于较旧的2.0版本,但其基本概念和大部分功能仍然适用于当前的4.0及以上版本。 1. **Gradle基础** - **项目结构**:Gradle项目通常包含`build.gradle`构建脚本,`settings....
而“world文档”可能指的是“Word文档”,在本场景下可能是关于ANT的详细教程文档。 【描述】:“ANT详细教程加world文档ANT详细教程加world文档” 这个描述两次提到了“ANT详细教程加world文档”,暗示我们有一个...
TortoiseSVN是一款在Windows环境下非常流行的Subversion(SVN)版本控制系统客户端,它以图形界面的形式集成在文件资源管理器中,使得用户能够方便地进行版本控制操作。中文语言包则是为了方便中文用户使用而提供的...
而专业对比工具提供更丰富的功能,如三向合并、文件夹比较、自动化脚本支持等,适用于团队协作和大规模项目。 在进行文件对比时,不仅要关注差异,还要理解这些差异的含义,例如在代码中,一处改变可能会影响到整个...
这个JAR文件内部可能封装了读取SVN信息、比较文件差异、生成变更单模板等功能。可能使用了如Apache Commons IO或Java内置的文件操作API来处理文件,以及可能使用了JAXB或Apache POI等库来处理和生成".doc"(Word文档...
这个模块对于自动化Windows系统任务或与Windows应用程序交互非常有用,比如,通过Python脚本控制Word文档的创建和编辑。 综上所述,这个“py2.5-pysvn-win32com”软件包是针对Python 2.5开发者的,他们可能需要在...
5. **论文文档**:可能是一个PDF或Word文档,包含了系统设计的详细描述、工作原理、实现过程和技术挑战的解决策略。 通过这个项目,学习者可以了解到如何使用PHP与Subversion API进行交互,以及如何构建一个Web应用...
7. **版本控制系统**:如果压缩包内有.git、.svn或类似文件,说明可能包含了版本控制系统的备份,涉及Git或SVN的使用和协同工作流程。 8. **项目管理**:包含如README、LICENSE、.gitignore等文件,可能表示这是一...
在实现上,"任务提交器"可能基于脚本语言(如Python或JavaScript)编写,利用这些语言的丰富库来实现各种功能。例如,可以使用Pandas库处理Excel数据,使用BeautifulSoup或Scrapy进行网页抓取,使用Selenium进行网页...
- **自动化报告生成**: 可以使用脚本或特定软件自动生成文档,例如使用Python的Docx库来自动填充模板中的数据,生成标准化的报告或文档。 ### 非IT但与信息技术应用相关 #### 1. **信息技术在教育管理中的应用** ...
Nessus支持NASL(Nessus Attack Scripting Language),这是一种由Tenable公司开发的语言,专门用于编写Nessus的安全测试脚本。此外,Nessus完全支持SSL,确保通信的安全性。作为一个成熟的软件,Nessus采用客户/...
10. **版本控制和构建工具**:源码还包含版本控制系统(可能是SVN或Git)的提交历史,以及构建脚本(如Ant或Maven),这为我们展示了开源项目的一般开发流程和版本管理实践。 通过研究这个古老的POI 3.5源码,...