一些用到的 VBA 语法

VBA 入门教程

Office 中的 VBA 入门:https://msdn.microsoft.com/zh-cn/vba/office-shared-vba/articles/getting-started-with-vba-in-office

Excel  VBA 参考:https://msdn.microsoft.com/vba/vba-excel


学习资源

VBA帮助手册


 

 

我的第一个 VBA 程序,会先弹窗,弹窗内容为”NiHao”自动给 A4 设置值”Nihao”

Option Explicit '强制要求所有变量必须定义

Public Sub mysub() ' 定义一个新的 module

Dim Str As String ' 定义一个变量
Const Status As String = "Hi"   ' 定义一个常量,其值必须在定义时给出

' 这里的内容会被注释掉

' 你可以以任意大小写来编写代码,VBE 会自动将其改为正确的格式,比如 end sub -> End Sub
Let Str = "Nihao"

MsgBox Str

Range("A4").Value = Str ' 设置 A4 格的内容为 Str 的内容


End Sub

如何判断字符串内是否有特定单词

instr("abc","c")   '大于0为包含。
"abc" like "*c*"   'TRUE为包含。

For 循环语法

For i = 2 To 10
        MsgBox Cells(i, "A") Like "*抽奖*"
Next i

 

判断是否包含指定字符,随后,执行特定的参数
Sub docheck()


Dim i  As Integer
i = 2

For i = 2 To 10
        If Cells(i, "A") Like "*somtext*" Then
            Cells(i, "D").Value = "other"
        End If
Next i
End Sub

印象笔记之禅

用好印象笔记的方法论

印象笔记之禅

  1. 用的越多,价值越大:你在印象笔记存储的资源越多,你就有越多的机会去更好的借助印象笔记的诸功能实现更好的管理。要将印象笔记设置为默认的笔记本、剪藏工具、参考资料的收集箱,从而使其发挥最大的效用。
  2. 使用剪藏:使用剪藏来提升数据收集的效率。剪藏后的数据我们可以轻松的进行批注和修改,同时还可以加入标签,来方便数据的搜索。比浏览器自带的书签会更有用。
  3. 别太纠结笔记本和笔记的数量:不要过于关注笔记和笔记本的数量,借助标签和搜索功能来管理他们会让你的工作更加高效。
  4. 已保存搜索+标签=筛选笔记:可以为适用于多个笔记本的内容添加标签,同时将可能会经常搜索的属性设置为标签,提升筛选的效率。但是也别搞太多的标签,只有那些真正重要和经常的标签才值得留下来。
  5. 使用笔记链接,查看相关内容 :使用笔记链接和笔记内部链接来完成笔记间的跳转工作,可以减少搜索的麻烦。你可以为每一个笔记本创建一个目录的笔记,用来记录同笔记本的所有笔记。
  6. 把其他的一些东西也放进来:你可以把菜单、食谱、名片、收据、白板等都存入笔记当中。借助笔记的文字识别功能来提升效率。
  7. 简化你的笔记本和标签:当你发现你的很多笔记本都空置没有使用时,你就要考虑合并一些笔记本来使得你的笔记本变得更少,让你有足够的精力去对付那些重要的笔记本。同理可以去除一些不常用的、无意义的标签。

关于健身的几本书

一起来健身!

推荐几本书,有打算开始健身的话可以看看

下载

  1. YOU身体锻炼手册:真实年龄健身计划-迈克尔·罗伊森
  2. YOU身体使用手册2:腰部管理-罗伊森
  3. 囚徒健身-保罗·威德
  4. 硬派健身
  5. 一平米健身-斌卡

高效假期指南

团圆饭规划

  1. 列出宾客名单:在印象笔记中记录宾客姓名、电话等信息,并借助 Todo 工具确保通知了每个人。
  2. 精选菜单:将菜单扫描一份存在笔记中,方便超市购物,并借助 Todo 工具来确保购买了所有需要用到的东西。还可以借助剪藏和应用分享等功能,将心仪的菜谱等保存下来。如果你的菜谱是别的应用分享而来的,还可以借助笔记内部链接调整来做一份完美的菜单。
  3. 巧拍座位:在购物等车的适合,可以在印象笔记手机 App 中借助手写功能来绘制座位安排图,高效利用时间。
  4. 创建聚会歌单:根据宾客们的年龄和喜好列出歌单,让每个人都能有自己的快乐时光。
  5. 录制语音笔记:使用录音功能,可以在你不方便打字时,将你的想法记录下来,方便查询。
  6. 共享动态:和家人共享动态,让他们知道事情的进度,也能更好的帮你。
  7. 捕捉美好时光:用镜头记录美好瞬间,再通过邮件、共享笔记等方式将视频、图片共享给大家。

出行计划规划

  1. 旅行前准备:要去什么地方,事先在网上查询景点、交通、饮食、住宿等各方面的充分资讯,使用印象笔记的剪藏和保存来自其他App的共享功能,来规划自己的行程。
  2. 整理旅游清单:机票、火车票、酒店订单散落在各个App,查看起来很不方便,使用印象笔记将所有清单、行李单和行程单保存下来,用的时候可以快速调取。
  3. 保存重要信息:无论你是在伊利诺伊巴黎还是在法国巴黎,重要文件都不能离身。借助印象笔记,不管是护照、酒店订单还是租车确认单,一键扫描便可自动保存,所有资料轻松搜索,快速调取。记得使用离线笔记本,把重要的内容都离线下来。

礼物选购指南

  1. 创建礼物储备库:把在网站上看到的心仪礼品都剪藏下来,即便到了最后一刻也有恃无恐。你可以为清单上的每个人创建一个笔记本,记录各自的喜好,挑礼物时便有章可循了。
  2. 货比三家:逛街时把合适的礼物连同价格用印象笔记通通拍下来,走进下一家或下下一下家店时可以多多比较,做个省钱小能手。
  3. 管理礼物清单:将家人的愿望清单集中保存到印象笔记,方便追踪管理。也可以把孩子写给圣诞老人的信扫描存档,记录他们成长过程中趣事。
  4. 整理通讯录:把所有邮寄地址存进印象笔记,等到寄礼物和卡片的时候,就不用一顿乱翻了。

剁手指南

  1. 量入为出:记录消费的内容,消费时心里有数。
  2. 保存收据:可以使用印象笔记的扫描功能存储收据。
  3. 重要信息要存储:把所有优惠码、优惠券以及礼品卡存到印象笔记,付款时出示更快。

Django 引入 Simple MDE

我比较喜欢 Django 的一点就是其非常完善的后台,借助这个后台,我可以免去 sideproject 的一大部分开发工作(过去的 sideproject 在后台开发时花费大量的时间,我不会前段真是痛苦)。

作为一个程序员,我自然是更喜欢 markdown 编辑器的,所以我没有在系统中引用 ueditor ,而是选择了 SimpleMDE

安装 Package

执行如下命令安装

pip install django-simplemde

安装完成后,在 INSTALLED_APPS 中添加 simplemde

INSTALLED_APPS = (
    # ...
    'simplemde',
    # ...
)

使用

使用时,只需要在 models 中引用即可

from django.db import models
from simplemde.fields import SimpleMDEField

class Entry(models.Model):
    title = models.CharField(max_length=250, verbose_name=u'Title')
    content = SimpleMDEField(verbose_name=u'mardown content')

配置

使用时,最好是进行一定的配置,这是我的配置,将其粘贴在 settings.py 即可

SIMPLEMDE_OPTIONS = {
    'placeholder': '支持 Markdown 语法',
    'status': False,
    'autosave': {
        'enabled': True
    },
    'hideIcons': ["guide", "heading"],
    'toolbar': False,
    'toolbarTips': Flase,
    'spellChecker':False
}

具体的配置项可以在 https://github.com/sparksuite/simplemde-markdown-editor#configuration 找到

Django Models 参数

我创建model必加的字段


class Category(models.Model):

    pub_date = models.DateTimeField('发布日期',auto_now_add=True)
    update_date = models.DateTimeField('更新日期',auto_now=True)
    sort = models.IntegerField("序号",default=99,help_text="序号越小越靠前")
    def __unicode__(self):
        return self.title
    def __str__(self):
        return self.title    
    class Meta:
        verbose_name = '目录'
        verbose_name_plural = '0-目录'
        ordering = ['sort']  # 按照哪个栏目排序
        get_latest_by = 'pub_date'

创建了新的 Django Project 后需要设置的

  1. 创建 Env
    virtualenv venv
  2. 生成 git 目录
    git init
  3. 加入gitignore
    # Byte-compiled / optimized / DLL files
    __pycache__/
    *.py[cod]
    
    # C extensions
    *.so
    
    # Distribution / packaging
    bin/
    build/
    develop-eggs/
    dist/
    eggs/
    lib/
    lib64/
    parts/
    sdist/
    var/
    venv/
    collectstatic/
    *.egg-info/
    .installed.cfg
    *.egg
    
    # Installer logs
    pip-log.txt
    pip-delete-this-directory.txt
    
    # Unit test / coverage reports
    .tox/
    .coverage
    .cache
    nosetests.xml
    coverage.xml
    
    # Translations
    *.mo
    
    # Mr Developer
    .mr.developer.cfg
    .project
    .pydevproject
    
    # Rope
    .ropeproject
    
    # Django stuff:
    *.log
    *.pot
    
    # Sphinx documentation
    docs/_build/
    
    # editor
    .vscode
    
    # database
    db.sqlite3
  4. 修改中文
    LANGUAGE_CODE = 'zh-hans'
    
    TIME_ZONE = 'Asia/Shanghai'
  5. 设置静态文件目录
    STATIC_ROOT = 'collectstatic'
  6. Database
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql', #数据库引擎
            'NAME': 'user_im',                       #数据库名
            'USER': 'root',                       #用户名
            'PASSWORD': '',                   #密码
            'HOST': '',                           #数据库主机,默认为localhost
            'PORT': '',                           #数据库端口,MySQL默认为3306
            'OPTIONS': {
                'autocommit': True,
            },
        }
    }
    

运营用加强 Markdown 编辑器

初衷

我一个朋友需要参与公司针对 V2ex 的运营,而 V2ex 如果想要发富文本,就需要 markdown 语法,对于他一个长期担任运营岗的人来说,Markdown让他十分困扰。虽然有很多不错的编辑器,但是由于他会有一些特殊的需求,所以还是十分不舒服。因此我便打算帮他做一个运营用的插件,帮他完成他所需要的特殊功能

特性

  • 满足运营者常用功能需求(H1-H6)
  • 提供插入新窗口打开连接的功能
  • 提供插入含连接的图片的功能
  • 插入含描述的图片
  • 选中文字标红
  • 快速打开图床

Demo

http://co.ixiqin.com

功能说明

插入新窗口打开连接

可以在打开的对话框中输入标题和连接。自动生成一个基于HTML的新页面打开连接
需要注意的是,此连接的会生成在文章尾部,需要自行复制到适当位置。

插入含连接的图片

可以在打开的对话框中输入连接、标题、图片地址、图片描述生成对应代码。
需要注意的是,此连接的会生成在文章尾部,需要自行复制到适当位置。

插入含描述的图片

可以在打开的对话框中输入图片地址、图片描述生成对应代码。
需要注意的是,此连接的会生成在文章尾部,需要自行复制到适当位置。

选中文字标红

选择要标红的文字,点击特色功能区的按钮,即可对指定文字进行标红处理。

快速打开图床

编辑器未做图片上传,故而提供了一个图床的地址,可以将图片上传到sm.ms,复制其生成的图片的连接,使用菜单栏中的工具添加即可。

源码地址

https://github.com/bestony/CoEditor

涉及技术

前端开发、JavaScriptEditor.md

 

Linux 中国 – LCBot 微信机器人

初衷

加强微信群管理

特性

  • 关键词添加好友自动拉群
  • 私聊发送关键词自动加群
  • 新用户进群自动发送欢迎
  • 设定管理员,管理员可以通过发送命令T人(需要机器人是群主)
  • 监控群每小时发送心跳包
  • 管理员踢人监控群内留底
  • 被拉黑的用户,无法被再次拉群。需要管理员手动释放。
  • 管理员在监控群发送指令获取状态或进行特定操作(现支持“状态”、“重启”、“刷新”)

Demo

不提供

源码

https://github.com/LCTT/LCBot

Linux 中国 – 「运维密码」微信小程序

初衷

由于 Google Authenticator 没有办法很好的做到备份,在更换手机时,会非常麻烦,所以我们希望能够自己制作这样一款小程序,来完成备份的功能。

特性

  • 本地计算动态口令,无需联网
  • 本地备份动态口令,安全放心
  • 每30秒更新一次动态口令,低占用

依赖

微信小程序开发工具

Demo

源码地址

https://github.com/LCTT/WeApp-Password

Todo

  • 云服务
  • 解决本地数据因微信清空丢失的问题

Linux 中国 – LCTT 选题工具

初衷

LCTT 使用 Markdown 来作为翻译原文,但是由于原文均为 HTML 格式,在选题时需要手工处理,要耗费大量的时间,所以便制作了选题工具,希望借助机器来完成

特性

  • 可以根据输入的 html 代码生成对应的 Markdown (表格未支持)
  • 支持数字型 Markdown 语法
  • 加入 Editor.md ,选题完成后可以进行编辑
  • 使用 js 来完成复制工作

Demo

http://lctt.ixiqin.com

源码

https://github.com/LCTT/LCTT-Helper/