ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: shaokui123

[分享] ########非封装形式VBA保护

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-5-11 13:41 来自手机 | 显示全部楼层
shaokui123 发表于 2021-5-11 13:35
excel to exe 7.2,本论坛有

这个帖子里面的南宫高手可能是vbgood的版主,的确很厉害。
那个论坛可惜好多精华都丢失了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-5-11 15:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2021-5-11 13:41
这个帖子里面的南宫高手可能是vbgood的版主,的确很厉害。
那个论坛可惜好多精华都丢失了。

南宫,阿吉都是前辈高手
还有一个officefans论坛也关了
阿吉在台湾的论坛还能看到早期作品

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-5-11 16:40 | 显示全部楼层
  1. Private Sub UserForm_Activate()
  2. Dim Arr1, Arr2, Arr3
  3.     Arr1 = Array("A4", "A3")
  4.     Arr2 = Array("竖向", "横向")
  5.     Arr3 = Array("第&P页 总&N页", "&D")
  6.     Me.ComboBox1.List = Arr1: Me.ComboBox2.List = Arr2
  7.     Me.ComboBox3.List = Arr3: Me.ComboBox4.List = Arr3
  8.     Me.ComboBox5.List = Arr3: Me.ComboBox6.List = Arr3
  9.     Me.ComboBox7.List = Arr3: Me.ComboBox8.List = Arr3
  10.     Me.ComboBox1.Value = "A4"
  11.     Me.ComboBox2.Value = "竖向"
  12.     Me.ComboBox7.Value = "第&P页 总&N页"
  13.     Me.TextBox3.Value = "1.0": Me.TextBox6.Value = "0.8"
  14.     Me.TextBox4.Value = "1.2": Me.TextBox7.Value = "1.2"
  15.     Me.TextBox5.Value = "0.8": Me.TextBox8.Value = "0.8"
  16. End Sub
  17. Private Sub CommandButton1_Click()
  18.     Dim Rng As Range
  19.     On Error Resume Next
  20.     Set Rng = Application.InputBox("请选择打印区域", "指定打印区域", , , , , , 8)
  21.     If err <> 0 Then
  22.       Me.TextBox1.Value = ""
  23.       err.Clear
  24.     Else
  25.       Me.TextBox1.Value = Rng.Address
  26.     End If
  27. End Sub
  28. Private Sub CommandButton2_Click()
  29.     Dim Rng As Range
  30.   On Error Resume Next
  31. Star:
  32.   Set Rng = Application.InputBox("请选择用于顶端标题的行,例如$1:$1或者$1:$2或者$1:$3等等", "指定顶端标题", "1:2", , , , , 8)
  33.   If err <> 0 Then
  34.     Me.TextBox2.Value = ""
  35.     err.Clear
  36.   Else
  37.     If Rng.Row <> 1 Then MsgBox "顶端标题须从第一行开始。", 64, "提示": err.Clear: GoTo Star
  38.     If Rng.Rows.Count > 10 Then MsgBox "顶端标题不要大于10行。", 64, "提示": GoTo Star
  39.     Me.TextBox2.Value = Rng.EntireRow.Address
  40.   End If
  41. End Sub
  42. Private Sub CommandButton3_Click()
  43. Application.ScreenUpdating = False
  44. With ActiveSheet.PageSetup
  45.   .PrintArea = TextBox1.Value
  46.   .PrintTitleRows = TextBox2.Value
  47.     If Me.ComboBox1.Value = "A4" Then
  48.         .PaperSize = xlPaperA4
  49.     Else
  50.        .PaperSize = xlPaperA3
  51.     End If
  52.     If Me.ComboBox2.Value = "横向" Then
  53.         .Orientation = xlLandscape
  54.     Else
  55.         .Orientation = xlPortrait
  56.     End If
  57.   .LeftMargin = TextBox3.Value * 28.6
  58.   .RightMargin = TextBox6.Value * 28.6
  59.   .TopMargin = TextBox4.Value * 28.6
  60.   .BottomMargin = TextBox7.Value * 28.6
  61.   .HeaderMargin = TextBox5.Value * 28.6
  62.   .FooterMargin = TextBox8.Value * 28.6
  63.   .LeftHeader = ComboBox3.Value
  64.   .CenterHeader = ComboBox4.Value
  65.   .RightHeader = ComboBox5.Value
  66.   .LeftFooter = ComboBox6.Value
  67.   .CenterFooter = ComboBox7.Value
  68.   .RightFooter = ComboBox8.Value
  69. End With
  70. Unload 打印窗体
  71. Application.ScreenUpdating = True
  72. End Sub
  73. Private Sub CommandButton4_Click()
  74.   End
  75. End Sub



复制代码


评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-5-11 21:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
说句实话,混淆法只要查看本地窗口就一目了然了,都不要花心思去替换。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-5-11 23:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

工作簿1.rar (11.94 KB, 下载次数: 74)
感谢测试,已修复
再看看这个

TA的精华主题

TA的得分主题

发表于 2021-5-12 08:58 来自手机 | 显示全部楼层
大灰狼1976 发表于 2021-5-11 21:59
说句实话,混淆法只要查看本地窗口就一目了然了,都不要花心思去替换。

真的吗?有没有测试我发的附件?能还原吗?

TA的精华主题

TA的得分主题

发表于 2021-5-12 09:18 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2021-5-12 08:58
真的吗?有没有测试我发的附件?能还原吗?

当然可以,现在上班,晚上我还原出来。本来我还把长字符串的函数名变量名批量替换成正常名,后来f8一调试,本地窗口啥都出来了,前面的工作都不需要。

TA的精华主题

TA的得分主题

发表于 2021-5-12 21:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
混淆法加密的局限性是,只能把过程名、函数名、变量名起得比较难识别,对VBA保留字毫无办法,所以我看到createobject()就知道要创建对象,括号内毫无疑问就是一个字符串,那么就能判断出最上面的函数就是把看似复杂的大串array的元素通过换算得到字符串,这几个功能明白了,即便代码全部不修改,也能明白。当然改了以后更直观,所以我认为对略有基础的人来说,混淆法没有什么意义。
当然如果我的理解比较片面,有困难的例子能够让我改变看法,我也是很欢迎的。
至于内存里面解码,我没接触过,不作评价。

说明.zip

210.95 KB, 下载次数: 78

TA的精华主题

TA的得分主题

发表于 2021-5-12 21:43 | 显示全部楼层
zpy2 发表于 2021-5-11 10:20
你把这里的文本文件打开,复制粘贴到 模块1 保存,然后,打开这个工作簿,运行下面这个过程看看咋样。
...

厉害了,想玩,请大侠赐教

TA的精华主题

TA的得分主题

发表于 2021-5-12 21:51 | 显示全部楼层
大灰狼1976 发表于 2021-5-12 21:34
混淆法加密的局限性是,只能把过程名、函数名、变量名起得比较难识别,对VBA保留字毫无办法,所以我看到cre ...

目睹两位高手对决,我吓得直哆嗦
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 17:01 , Processed in 0.053108 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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