哇噢星球

 找回密码
 申请注册
搜索
热搜: 地形 技能 Lua

一段在xlsm文件保存时自动另存slk到特定目录的excel vba代码,适用于使用slk改物编的作者

[复制链接]
皇家骑士 发表于 2018-8-14 05:52:15 | 显示全部楼层 |阅读模式
本帖最后由 皇家骑士 于 2018-8-14 06:20 编辑

请根据自己的需要修改。

' https://stackoverflow.com/questions/18899824/how-to-use-vba-saveas-without-closing-calling-workbook
' https://stackoverflow.com/questions/3233203/how-do-i-use-filesystemobject-in-vba

Private Sub Workbook_AfterSave(ByVal Success As Boolean)

    Dim thisWb As Workbook, wbTemp As Workbook, saveAsName As String
    Dim ws As Worksheet
    Dim fso As New Scripting.FileSystemObject

    On Error GoTo Whoa

    Application.DisplayAlerts = False

    Set thisWb = ThisWorkbook
    Set wbTemp = Workbooks.Add
    saveAsName = fso.GetBaseName(thisWb.Name)

    On Error Resume Next
    For Each ws In wbTemp.Worksheets
        ws.Delete
    Next
    On Error GoTo 0

    For Each ws In thisWb.Sheets
        ws.Copy After:=wbTemp.Sheets(1)
    Next

    wbTemp.Sheets(1).Delete
    wbTemp.SaveAs "..\..\Release\Units\" & saveAsName & ".slk", 2
    wbTemp.Close (True)

LetsContinue:
    Application.DisplayAlerts = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume LetsContinue
   

End Sub

回复

使用道具 举报

我是卢晓奇 发表于 2018-8-17 23:08:01 | 显示全部楼层
slk没了解,看起来挺方便的,不过我最近改物编用的是YDWE的w3xlni,也十分方便,可以转换为文本和文件夹,导入文件真的是方便太多了
回复 支持 反对

使用道具 举报

 楼主| 皇家骑士 发表于 2018-8-18 03:07:41 | 显示全部楼层
我是卢晓奇 发表于 2018-8-17 23:08
slk没了解,看起来挺方便的,不过我最近改物编用的是YDWE的w3xlni,也十分方便,可以转换为文本和文件夹, ...

后来我还是直接写了一个xlsx转slk(blz格式)的转表器。
好处是改表批量很适合做数值和大规模调整。

不过我是直接改的源表,地图内的表只会显示被修改的格子的值,在做数据维护上反而不太方面。

我对怎么扩充原本的物编数量感兴趣,因为“对战”“战役”两个分栏,里面的单位一旦复制就跑到自定义去了。同样也希望能增加种族栏,那样在管理单位上能方便得多。

回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|哇噢星球  

GMT+8, 2019-6-27 08:25 , Processed in 0.042391 second(s), 12 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表