1.word文稿中不同人物的台词怎样设置不同字体
最简单的办法是替换,步骤如下(必须严格按照步骤):1、Ctrl+H打开“替换”窗口;2、查找内容:房东:*^13 (将“房东”替换成不同的角色名字)3、替换为:^&4、单击“使用通配符”(可能需要单击“更多”展开完整替换窗口)5、单击下面的“格式-字体”,设置需要的字体,确定;6、单击“全部替换”检查该角色的台词字体是否已正确设置。
不过,这个方法有两个缺陷:1、“:”前面的角色名字的字体也会被替换;2、必须针对每个角色都做一次这些步骤。不知这两个缺陷楼主是否能够接受?如果实在不能接受的话,也可以用VBA代码来实现,估计是可以满足楼主需要的,不过也会麻烦一些。
_____补充:用VBA的方法也做好了,楼主可以试试看。步骤为:1、在Word中键入Alt+F11打开VBA编辑器,选择菜单“插入-模块”;2、在代码编辑区中粘贴如下内容:Option ExplicitSub BatchChangeFonts() Dim oFontNameSets, oCharacterName, oKeys Set oFontNameSets = CreateObject("Scripting.Dictionary") ' 在这里根据需要替换/添加角色名字和字体的对应关系 oFontNameSets.Add "房东", "黑体" oFontNameSets.Add "房客甲", "方正舒体" oFontNameSets.Add "房客乙", "华文彩云" oFontNameSets.Add "房客丙", "隶书" Selection.Find.ClearFormatting oKeys = oFontNameSets.Keys For Each oCharacterName In oKeys Selection.StartOf wdStory While Selection.Find.Execute(FindText:=oCharacterName & ":", Forward:=True, Wrap:=Word.wdFindStop) Selection.Collapse wdCollapseEnd Selection.EndOf wdParagraph, wdExtend Selection.Font.Name = oFontNameSets(oCharacterName) Selection.Collapse wdCollapseEnd Wend Next MsgBox "完成!"End Sub3、根据需要在上面代码中替换/新增角色名和字体的对应关系;4、键入F5运行,看到“完成!”结束;5、切换回Word文档窗口,检查替换效果是否满足需要。
2.不知哪位高人可以提点如何将下载下来的电影台词SRT格式转化为
用工具把Subrip转换成SRT字幕,而SRT字幕可以直接用记事本打开,也可以用Word直接打开,在Word的打开窗口“文件类型”选择“所有文件”,不然看不到!如果有需要,另存为doc文档就行了。
具体如何转换
Subrip 1.50 Beta 4
至于时间轴,可以从Word里用“替换”命令批量替换。用Ctrl+F打开查找替换框,切换到“替换”卡,在“查找内容”输入^#^#:^#^#:^#^#,^#^#^#^# -->; ^#^#:^#^#:^#^#,^#^#^#(注意中间的空格),“替换”里什么都不输入,就可以替换掉所有的时间轴。这里的^#是“所有数字”的通配符,SRT字幕的时间格式通常都是01:58:56,420 --> 01:58:59,920这样的形式,一般电影也就一两个小时,所以不用修改什么了。如果你打开的字幕时间轴不是上面说的形式,把形式弄下来用^#代替数字的个数即可。
话说楼主玩Word玩得不是很熟练吧,像查找替换以及^#、^p这样的通配符都是Word常见的功能。
3.怎么用JACOB在WORD中添加有格式的文本
. 初始化com的线程,非常重要,否则第二次创建com对象的时候会出现can't co-create object异常 (参见jacob的帮助文档),完成操作com组件后要调用 realease方法 ComThread.InitSTA();// 初始化com的线程,非常重要!!使用结束后要调用 realease方法 2. 初始化word应用程序,新建一个空白文档,取得文档内容对象//Instantiate objWord //Declare word object ActiveXComponent objWord = new ActiveXComponent("Word.Application"); //Assign a local word object Dispatch wordObject = (Dispatch) objWord.getObject(); //Create a Dispatch Parameter to show the document that is opened Dispatch.put((Dispatch) wordObject, "Visible", new Variant(true));// new Variant(true)表示word应用程序可见 Tip:设置一个对象的属性的时候,利用Dispatch的put方法,给属性赋值。
上面这行语句相当于vb的 wordObject.Visible = true 语句 //Instantiate the Documents Property Dispatch documents = objWord.getProperty("Documents").toDispatch(); //documents表示word的所有文档窗口,(word是多文档应用程序) //Add a new word document, Current Active Document Dispatch document = Dispatch.call(documents, "Add").toDispatch(); // 使用Add命令创建一个新文档,用Open命令可以打开一个现有文档 Tip:调用一个对象的方法的时候,利用Dispatch的call方法,上面的语句相当于vb的document = documents.Add() 语句。 Dispatch wordContent = Dispatch.get(document, "Content").toDispatch(); // 取得word文件的内容 Tip:取得一个对象的成员变量(属性)时利用Dispatch的get方法,上面的语句相当于vb的wordContent = document.Content语句 3. 取得word文档的内容后,可以对其内容进行操作 Dispatch.call(wordContent, "InsertAfter", "这里是一个段落的内容");//插入一个段落 4. 设置刚插入的段落的文字格式 Dispatch paragraphs = Dispatch.get(wordContent, "Paragraphs").toDispatch(); // 所有段落 int paragr aphCount = Dispatch.get(paragraphs, "Count").toInt(); // 一共的段落数 // 找到刚输入的段落,设置格式 Dispatch lastParagraph = Dispatch.call(paragraphs, "Item", new Variant(paragraphCount)). toDispatch(); // 最后一段 Dispatch lastParagraphRange = Dispatch.get(lastParagraph, "Range"). toDispatch(); Dispatch font = Dispatch.get(lastParagraphRange, "Font").toDispatch(); Dispatch.put(font, "Bold", new Variant(true)); // 设置为黑体 Dispatch.put(font, "Italic", new Variant(true)); // 设置为斜体 Dispatch.put(font, "Name", new Variant("宋体")); // Dispatch.put(font, "Size", new Variant(12)); //小四。
转载请注明出处办公知识网 » 怎么用word写台词