V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lisicong
V2EX  ›  程序员

都 2019 年了,我还在写 VBA...

  •  
  •   lisicong · 2019-06-19 20:58:32 +08:00 via Android · 8208 次点击
    这是一个创建于 1764 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就吐槽一下,在公司临时兼职了开发。。
    50 条回复    2020-04-14 14:33:33 +08:00
    jiaudoug
        1
    jiaudoug  
       2019-06-19 20:59:34 +08:00 via iPhone   ❤️ 1
    您这是斜杠青年啊,挺厉害的!
    her999
        2
    her999  
       2019-06-19 21:03:27 +08:00   ❤️ 1
    有用的就是好的
    rayhy
        3
    rayhy  
       2019-06-19 21:18:52 +08:00
    能解决问题就行,谁管你用啥软件
    loading
        4
    loading  
       2019-06-19 21:29:46 +08:00 via Android
    我年初才开始学写 vba 呢,高端的 vsto 根本不想用。
    在 excel 里,用 vba 能解决很多问题,难道用 python 才高端吗? excel 内置里面除了 vba 和 vsto,其他都是渣渣。
    qilishasha
        5
    qilishasha  
       2019-06-19 21:30:58 +08:00 via iPhone
    这是高手啊 绞尽脑汁用 python 分析一个表格 结果一个宏就可以轻松解决 这才是老板需要的
    shijingshijing
        6
    shijingshijing  
       2019-06-19 22:03:39 +08:00
    如果论单行代码的经济收益,VBA 可能是最高的。一大堆搞金融的用 VBA ~
    lisicong
        7
    lisicong  
    OP
       2019-06-19 22:05:44 +08:00 via Android
    @loading 而且还有一点,VBA 的开发 /运行环境要求太低了,基本是个电脑装上 office 就能跑。业务人员的电脑基本不可能配置什么别的运行环境。
    lisicong
        8
    lisicong  
    OP
       2019-06-19 22:07:01 +08:00 via Android
    @qilishasha 真的是——只争分秒,就用 VBA。
    akira
        9
    akira  
       2019-06-19 22:07:19 +08:00
    现在还在用古老语言的,一般都是专家。。工资高的 1 批的。。例如 cobol 例如 foxpro。。
    pocketmiddle
        10
    pocketmiddle  
       2019-06-19 22:09:42 +08:00 via iPhone
    我一个做业务的,学 vba 两年了,效率提升简直是质的飞跃。
    lisicong
        11
    lisicong  
    OP
       2019-06-19 22:12:39 +08:00 via Android
    @pocketmiddle 效率提升的确是可观,特别是我们公司的古老系统和 vba 简直无缝对接,所以这段时间专门给业务同事写工具
    lisicong
        12
    lisicong  
    OP
       2019-06-19 22:14:19 +08:00 via Android
    @akira 可惜我才毕业没几年,慌的一比。。
    snw
        13
    snw  
       2019-06-19 22:17:35 +08:00
    VBA 处理简单问题真的太适合不过,无需另外安装任何软件,按 Alt+F11 编辑,按 F5 运行,基本的 debug 功能都有,与文档交互的效率很高,代码本身执行效率也不差。若干年来微软造了几个轮子试图替代它,然并卵。

    当然作为一种古董语言 VBA 当然会有坑,比如 object 的 GC 时间复杂度是 O(n^2),所以很难处理大量数据(几万对象冇问题)。
    2oTp
        14
    2oTp  
       2019-06-19 22:18:28 +08:00
    那么问题来了, 学习 VBA 哪家强?
    snw
        15
    snw  
       2019-06-19 22:21:04 +08:00
    @2oTp
    VBA 基本上都现学现会现用的,VB 真的是超级简单易懂的语言。
    lisicong
        16
    lisicong  
    OP
       2019-06-19 22:21:04 +08:00 via Android
    @2oTp VBA 哪里还用学,直接面向搜索引擎编程啊😂
    snw
        17
    snw  
       2019-06-19 22:28:18 +08:00
    刚发现 Chip Pearson 去年去世了,他网站上有非常详细的教程。
    www.cpearson.com/Excel/MainPage.aspx
    flyingghost
        18
    flyingghost  
       2019-06-19 22:57:29 +08:00
    @2oTp
    之前有一个小任务,直接面向 google 编程,一下午撸出来了。
    现在回头想想,忘得一干二净。
    等下次需要的时候再学(sou)吧。。。
    2oTp
        19
    2oTp  
       2019-06-19 23:31:19 +08:00
    2oTp
        20
    2oTp  
       2019-06-19 23:34:10 +08:00
    and

    https://www.reddit.com/r/vba/ view the sidebar RESOURCES
    mohoumk2
        21
    mohoumk2  
       2019-06-20 00:09:12 +08:00 via Android
    @akira vb6 的工资也没高到哪去
    ethanlu
        22
    ethanlu  
       2019-06-20 00:16:35 +08:00 via Android
    100 年以内都很难出现能够代替 Excel 的软件,用 excel 的 VBA 还是得学的。
    huson
        23
    huson  
       2019-06-20 00:19:12 +08:00
    厨子比的是手艺 不是比哪个刀好看 好用就行 没有最好的语言 只有最合适的
    xuanwu
        24
    xuanwu  
       2019-06-20 00:19:55 +08:00
    有兴趣的话,《在 Office 的 VBA 代码里中文命名》 https://zhuanlan.zhihu.com/p/41432021
    dt2vba
        25
    dt2vba  
       2019-06-20 01:21:44 +08:00 via Android
    我一直在用 VBA,简单、高效。昨天刚写了一堆 VBA,下载 XML,然后导出节点内容。
    geelaw
        26
    geelaw  
       2019-06-20 03:08:05 +08:00 via iPhone
    VBA 最大的问题是对 Unicode 支持不太好,PowerShell 用了 COM 操作 Office 也很简单呀。
    justyy
        27
    justyy  
       2019-06-20 04:35:28 +08:00
    lisicong
        28
    lisicong  
    OP
       2019-06-20 07:29:18 +08:00 via Android
    @dt2vba 老哥 id 都带 vba,真爱啊
    lisicong
        29
    lisicong  
    OP
       2019-06-20 07:31:30 +08:00 via Android
    VBA 用着爽,奈何入门门槛低,适用场景比较简单,所以钱景太差了,甚至没有什么公司会专门请人写 VBA,市场需求不大……
    zjsxwc
        30
    zjsxwc  
       2019-06-20 07:46:05 +08:00 via Android
    楼上都是有钱人,用开源 LibreOffice 的路过
    shooter556
        31
    shooter556  
       2019-06-20 08:04:13 +08:00
    我这里有些客户还在用 vb6 你信不?
    鬼子国就是这么奇葩~
    des
        32
    des  
       2019-06-20 08:21:54 +08:00 via Android
    @zjsxwc 一年才六七十啊,交易区一堆呢
    lisicong
        33
    lisicong  
    OP
       2019-06-20 08:34:51 +08:00 via Android
    @des 大佬大佬,我也想一年六七十。真心求带啊。。。
    printese
        34
    printese  
       2019-06-20 08:38:24 +08:00
    同 VBA,同时还写一些 shell 脚本,感觉已经逐渐与现在的软件行业脱节了,入职到现在已经两个月没有碰过 SQL 了...
    des
        35
    des  
       2019-06-20 08:42:03 +08:00 via Android
    @lisicong 自己去翻帖子咯 /go/all4all
    dk7952638
        36
    dk7952638  
       2019-06-20 09:02:31 +08:00
    vba 到现在我也没觉得过时,直接 office 内置,简直就是写小工具的神器。
    sytao
        37
    sytao  
       2019-06-20 09:04:30 +08:00
    这久也是一头扎进 vba 里面了。网易云课堂看视频,现学现用,一个按钮一个函数,确实对工作帮助大。
    jon
        38
    jon  
       2019-06-20 09:24:01 +08:00
    worse is better
    liuzhiyong
        39
    liuzhiyong  
       2019-06-20 09:34:40 +08:00 via Android
    好用就是硬道理呀,能够搞定任务,其他不重要。
    lisicong
        40
    lisicong  
    OP
       2019-06-20 09:48:57 +08:00 via Android
    @liuzhiyong 但是这个技能不怎么来钱啊,没法跳槽升职加薪走上人生巅峰。。
    th1nk
        41
    th1nk  
       2019-06-20 09:59:04 +08:00
    VBA 很好啊。我日常 Excel 都是 VBA。一堆插件自定义 Ribbon 菜单,6 的飞起。
    toilaj
        42
    toilaj  
       2019-06-20 10:20:14 +08:00
    都 9012 年了,我还在用 xshell 跑 vba 脚本。
    sytao
        43
    sytao  
       2019-06-20 10:22:05 +08:00
    @th1nk 给两个截图看看?学习学习
    Aresxue
        44
    Aresxue  
       2019-06-20 10:55:50 +08:00
    office 的强大你还没有清晰的认知。。。
    Fule
        45
    Fule  
       2019-06-20 11:07:46 +08:00
    VB(A)的小坑就是对象赋值别忘了加 `set` 😂
    dennisun
        46
    dennisun  
       2019-06-20 11:14:45 +08:00
    做数据写 python 的表示:人生苦短我用 VBA
    lisicong
        47
    lisicong  
    OP
       2019-06-20 20:05:43 +08:00 via Android
    @printese 就是慌这个,怕脱节
    purplemystic
        48
    purplemystic  
       2019-06-29 14:12:42 +08:00
    为了完成一个 excel 的校验,从零开始学,从零开始写,写了几千行的 vba,超级痛苦(::><::)
    crzdot
        49
    crzdot  
       2020-04-14 13:27:09 +08:00
    @lisicong 太有同感了。
    crzdot
        50
    crzdot  
       2020-04-14 14:33:33 +08:00
    现在用 C#写 VSTO,刚入门~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3412 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:27 · PVG 19:27 · LAX 04:27 · JFK 07:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.