墨问非名-汉化教程5——自动分页填字

前言

我知道我做的美漫汉化教程挺欺负人的,该写清楚的地方云里雾里。唉,可是懒癌上来挡不住啊。

准备

首先要有格式准确的稿子。

意思就是每页页码标清楚,这是重点!

然后在保留格式信息的情况下转成纯文本:

把换行替换成の

1
2
3
4
5
6
7
8
9
10
Sub 缩行()  
With Selection.Find
.Text = "^p" '查找
.Replacement.Text = "の" '替换
.Wrap = wdFindContinue
.MatchByte = True
.MatchWildcards = False '不使用通配符
End With
Selection.Find.Execute Replace:=wdReplaceAll '全部替换
End Sub

转换成Markdown

因为上一步处理,不会多出奇怪的换行。

扔进谷歌表格拿正则表达式过一过

屏幕快照 2016-05-25 下午11.30.37

变成可以用来填字并且有格式指示的文档

扔进Word

重要概念

知道软换行硬换行的区别:

软换行

  1. Shift+Enter
  2. 不另起段落
  3. 在Word查找替换中以^l表示
  4. 符号形如↓

硬换行

  1. Enter
  2. 另起段落
  3. 在Word查找替换中以^p表示
  4. 符号形如↵

根据页码标记转换换行类型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub 填字转分页()  
With Selection.Find
.Text = "^p" '查找硬换行
.Replacement.Text = "^l" '替换为软换行
.Wrap = wdFindContinue
.MatchByte = True
.MatchWildcards = False '不使用通配符
End With
Selection.Find.Execute Replace:=wdReplaceAll '全部替换
With Selection.Find
.Text = "^11^11([0-9])([0-9])^11^11" '查找[软换行*2][两位数字][软换行*2]格式的页码
.Replacement.Text = "^p^l" '替换为[硬换行][软换行]
.Wrap = wdFindContinue
.MatchWildcards = True '不使用通配符
End With
Selection.Find.Execute Replace:=wdReplaceAll '全部替换
End Sub

注意行末符号:

这样一页就变成对应一个段落。

Word中选取下一段落的快捷键是Ctrl+Shift+

然后交给AutoHotKey吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
;==================Word快捷键==================  
#IfWinActive, ahk_class OpusApp, 填
Esc::Exit
^+#!K:: ;Word填字
{
WinGetTitle, Title ;获取窗口名
FormatTime, TimeStringStart, yyyy/MM/dd hh:mm:ss tt R
SetKeyDelay, 100
Loop, 22
{
Send ^+{Down} ;选择下一段落
Send ^c ;复制
Send {Down} ;下
Send #3 ;切换到记事本
Sleep 1000 ;延时1秒
Send ^a ;全选
Send ^v ;粘贴
Send ^s ;保存
Send #4 ;切换到PS
Sleep 1000 ;延时1秒
Send {f10} ;运行脚本
Sleep 1000 ;延时1秒
Loop ;判断脚本是否执行完
{
Sleep, 1000
IfExist, \\Mac\Host\Volumes\Mack\汉化\-.txt
break
}
FileDelete, \\Mac\Host\Volumes\Mack\汉化\-.txt ;删除小文档
Sleep 1000 ;延时1秒
Send ^{Tab} ;切换到下一页
Sleep 1000 ;延时1秒
Send #2 ;切换到WORD
Sleep 1000 ;延时1秒
}
FileDelete, \\Mac\Home\Documents\填字完成.txt ;删除填字完成文档
Sleep 1000 ;延时1秒
SoundBeep, 750, 500 ;以较高的音高进行发音并持续半秒.
Sleep 1000 ;延时1秒
FormatTime, TimeStringEnd, yyyy/MM/dd hh:mm:ss tt R
FileAppend,
(

填字项目:%Title%
开始时间:%TimeStringStart%
完成时间:%TimeStringEnd%

), \\Mac\Home\Documents\填字完成.txt
return
}

后记

视频背后大概就是这样。

有问题评论~

墨问非名 wechat
订阅我的公众号
听说,你想请我喝杯咖啡?☕️
0%