【034】06周 利用 Excel VBA 批量建立 Todoist 任务 | 实用技巧

hAPPydOg
2017年09月28日

利用 Excel VBA 批量建立 Todoist 任务 | 实用技巧

| 本文为付费栏目文章,您已订阅,可阅读全文 |

起因

工作关系,经常需要把新项目从头到尾各阶段的所有任务建立在 Todoist 中,任务数量基本在 30 个以上。为了效率,批量输入必不可少。虽然利用 Todoist API 和 Workflow 可以实现批量添加任务,但是受限于 iPhone 屏幕尺寸无法统览整个项目和进度,而且使用该方式添加至少需要一台 iOS 设备,对于周围用 Android 的同事,这个方法歇菜了。最重要的是,在调整任务时领导看到你盯着个手机老半天,鬼知道你是在工作还是在开小差,影响加薪啊!
在 Todoist 官网看到可以通过模版批量导入和导出任务,曙光来了。

模版导入导出方法

以网页版 Todoist 为例,点击项目名右边「扳手铅笔」图标,即可显示从模版导入或导出选项。

Todoist 模版导入导出方法
对于导入,还可以直接把模版文件拖入项目中,更加方便。

拖曳模版文件导入

模版的本质

导出的模版是 CSV 文件,即 Comma-Separated Values 逗号分隔值文件格式,该文件本质上就是文本文档,只不过后缀 .txt 变为 .csv
文件中的每一行都等于表格中的每一行,两者一一对应,列与列之间用半角逗号分隔。对于空单元格,直接输入逗号即可。对于空白行用「列数减一」个逗号替代,不过仅输入一个逗号也不影响 Todoist 导入。更详细的 CSV 文档格式规范详见 百度百科

记事本打开 CSV 文件

用更优雅的方式查看模版

CSV 主要功能是方便不同应用程序间表格数据转移,尽可能减少兼容性问题。实际使用时很少会以文本文档形式直接编辑和修改 CSV 文件,可读性太差,用表格软件才是更优雅的打开方式。

Excel 打开 CSV 文件

CSV 模版每列说明

类别说明是否必须
TYPE条目类型,即该行代表「任务 task」或是「评论 note」
CONTENT任务名或评论内容(依 TYPE 类型而定),每个 tag 用「 @」连接
PRIORITY任务优先级,数字 1 ~ 4 分别对应优先级 1 ~ 4
INDENT任务间层级关系,数字越大表示层级越深,结合本文第一张图片可以看到,所有子任务是第二层级,所以子任务的 INDENT 是 2
AUTHOR任务/评论创建者
RESPONSIBLE任务被委派者,个人使用可以删除该列
DATE任务到期日期(不是提醒日期)
DATE_LANG日期语言格式。实际日期显示语言格式由 Todoist 偏好设置中的语言决定,模版中修改并不会对实际显示效果造成影响,但是不可删除该列,否则无法识别 DATE 列数据
TIMEZONE时区设置,一般用不到,由 Todoist 偏好设置选项自动调整。

CSV模版每行说明

首行为表头,第二行紧跟 task 和 note(如需),各 task 行之间用空白行分隔。

利用 Excel VBA 实现自动化

明白了 CSV 与表格之间的关系,接下来就是如何实现自动把表格数据转化为 CSV 文件。
处理表格数据自动化,Microsoft Office 御用 VBA 自然是最佳选择。根据本人实际使用情况,制作如下自动化表格模版,模版应该适合大部分人,特殊需求请在「Excel 开发工具」里面自行修改。代码关键语句都做了注释,非程序员出生,代码渣质量请不要介意。

Excel 自动化模版界面
使用注意点:
  1. 不要在 A~F 列范围内增、减、隐藏列,不要在 1、2 行中增、减行,VBA 根据行列号确定具体单元格位置;
  2. A2 单元格输入项目名,生成的 CSV 文件会以此命名;
  3. 图中「阶段 1-3」 层级一,「任务 1-10」 层级二,一般结合标签两个任务层级足矣。如需更多层级一的行,复制粘帖现有行即可;
  4. 当「阶段 1 」被删除或隐藏后,「任务 1-3」会变为层级一;
  5. 如果一个任务需要多个标签,标签之间用中/英文逗号分隔;
  6. 优先级列默认留空表示优先级 4,根据需要输入1~4;
  7. 日期请以 12-31 格式输入,会自动转化为「2017年12月31日」,如需要英文日期格式,自行设置单元格日期格式;
  8. 根据需要插入或删除任务行,隐藏行不会进行导出;
  9. 点击右上角「生成 CSV」,会在桌面生成 CSV 文件。
模版表格在 Windows 7 x64 & Microsoft Excel 2010 环境测试通过,如果无法运行,可能需要设置加载 VBA 工程库,具体方法请根据运行时的错误提示自行百度。未测试 WPS,原则上只要加载了 VBA 库也是可以运行的。
以上图内容为例,导入 Todoist 效果如下。

批量导入效果

总结

正所谓术业有专攻,如果只是单纯的建立任务,且任务之间独立性较强不需要层级安排,利用 Workflow for iOS 会更方便。
对于比较大的项目,需要统筹安排各阶段任务,设定相关 tag、时间节点等信息时手机就显得捉襟见肘。电脑上操作才是最佳方案,而 Excel 处理表格又有着先天优势,丰富的函数、便利的替换查找,都极大得提高了生产效率。

上一期
如何结合使用任务管理工具与日历 | 效率思维
下一期
如何快速添加 App Store 返利链接 | 工作日志
 
精选评论(1) 我的评论
  • Zac
    正所谓术业有专攻,我认为如 Todoist 之类的任务管理软件不适用于管理大型项目。我会尽量保持 Todoist 的轻量…… 大项目不如使用项目管理软件(如 Pagico),然后定期检视项目,将近期任务放入 Todoist 中,若需要排程可再放入日历。
    2017年10月06日 1