在Excel处理数据时, 顺便试了一下VBA代码编辑器里输入中文, 结果显示为乱码. 查了一下发现VBA本身支持Unicode, 但需要设置系统配置使编辑器能够正常显示, 即设置简体中文为Current language for non-Unicode programs. 详见How to display foreign characters in Excel's Visual Basic Editor 在WPS 2016专业版(试用30天)中测试如下, 最简单的中文变量/方法名通过. 类似测试…
构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载.写一个类,如果没有写任何的构造函数,那么这个类有一个默认的无参数的构造函数.如果写了构造函数,那么在这个类中就有两个构造函数,一个默认的,一个是自己写的,不过,自己写了构造函数,之前默认的那个构造函数就不能用了,如果还想用之前的那个默认的构造函数,就必须再重新写一个无参数…
public class person { public string name; } public class person { public string Name { set; get; } } 上面的两个类,第一个person存储的是name属性,由于是public属性,可以由其他类访问,第二个person的name属性通过了set.get进行了封装,get.set分别是可读可写.等价于如下代码 public class person { private string name; pub…
class Person//声明一个Person类 { //类中的声明与Main中不同,类中声明的是字段而不是函数. public string gender; public string name="Tom";//在类中只能给字段赋值一行代码 "); } class Program { static void Main(string[] args) { ; Person p1 = new Person();//定义Person类的对象p1 p1.gender = "…
传送门 平衡树简单题. 直接用fhgtreap实现分裂和合并就没了. 代码: #include<bits/stdc++.h> #define N 100005 using namespace std; typedef pair<int,int> res; int n,minn,cnt=0,rt=0,delta=0,son[N][2],siz[N],rd[N],val[N],leave=0; inline void pushup(int p){siz[p]=siz[son[p][0]…
传送门 平衡树好题. 我仍然是用的fhqtreap,感觉速度还行. 维护也比线段树splay什么的写起来简单. %%%非旋treap大法好. 代码: #include<bits/stdc++.h> #define N 500005 #define inf 0x3f3f3f3f using namespace std; queue<int>garbage; typedef pair<int,int> res; int n,m,rt=0,cnt=0,a[N],son[N][…
http://club.excelhome.net/thread-970051-1-1.html VBA Dumper 0.1.4.2更新,填补国内同类程序空白 此程序为演示版,可以在无office的环境下Dump出复合文档的VBA代码(Excel\Word\PPT等),每个模块最大Dump长度不超过六百个字符,用于简单判断病毒基本够了.也可以用来恢复受损文件中的vba代码.使用VBA Dumper可以在不打开office文件的情况下检查vba代码,目前的宏病毒杀毒软件基本都是这个路子. 使用方…
原始出处:www.cnblogs.com/Charltsing/p/DnaTools.html QQ:564955427 DNA工具箱全部功能一览:    单元格焦点指示(支持Excel 2007~2016,Excel of O365).工作簿表预览导航.文件管理(快捷打开文件).文本编解码.VBA Dump .VBA Module Hidden.解除工程不可查看.撤销WorkSheets工作表密码等 说明: 一.本工具箱无功能和使用时间限制,在保留作者版权的情况下可随意使用. 二.升级2.97…
原始出处:http://www.cnblogs.com/Charltsing/p/EncryptVBACode.html VBA代码加密是个老生常谈的问题,自从本人的VBA Dumper发布之后,在Office层面上做任何加密都已经失去了意义.所以,很多人开始转战VB封装或者升级到VSTO,Delphi等其他语言.但是,对于广大的VBAer来说,重新学一门语言带来的麻烦要远远超过开发VBA程序所带来的收益.所以,是否能有一种办法在不改变VBA代码的情况下,将VBA代码脱离office进行加密呢?…
从C#中连接到SQL Server数据库,再通过C#编程实现SQL数据库的增删改查. ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用:(在使用适配器查找记录时不用建立sqlcommand对象) 第三,对SQL或存储过程执行后返回的“结果”进行操作.对结果的操作分为两种,一种为SqlDataReader一行一行读取数据集,另一种为DataSet联合Sql…
先说下背景环境 1. 公司需要问卷调查,有两份问卷, 1)是spss问卷,2)是excel问卷.spss问卷数据不全,但有各种标签, excel呢, 生成的数据直接把选项变成了值 2. 现在需要把excel的选项值变成1, 2这种数字{1:“满意”} 3. 妹子已经把vba写好了.(不忍直视!) 由于需要执行很多vba命令,我就用py的字符串拼接,生成了,900多份,怀疑vba的代码有问题,凭直觉,但我不会vba,又懒得查,只能让cpu去做重复工作了 需要模块win32com 安装方法 ```…
异常是在程序执行期间出现的问题.C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零. class Program { static void Main(string[] args) { System.IO.File.Delete(@"F:\output.txt"); System.IO.File.Delete(@"F:\面向对象2.exe"); System.IO.File.Delete(@"F:\input.txt"); Co…
类:具有相似属性和方法的对象的集合,如“人”是个类. 对象(实例):对象是具体的看得见摸得着的,如“张三”是“人”这个类的对象.(new Person()开辟了堆空间中,=开辟了栈空间,变量P存放在该栈空间中,P指向开辟了的堆空间.) 方法:方法就是类能够执行的动作,比如“人”这个类的“问好”,“吃饭”等都是方法. 字段:描述对象的数据,比如“人”这个类的姓名.年龄.身高等都属于字段. 属性:是对字段进行赋值时加以限制. public class Employee { //字段 private…
int.Parse()用于将字符串转换为32为int类型,但是在遇到非数字或者类似1.545这种小数的时候会报错,后来采用了int.TryParse,这个在转换后会判断是否可以正常转换,若不能,会返回一个false值,若能,则会返回true.这个搭配上if语句可以很好地判断输入的字符是否符合要求. 在网上看到大家用Parse和TryParse的经验,发现有一段心得特别好,需要记录一下: “我个人的习惯是:有可能出现异常时(比如尝试parse一个用户输入的string),用TryParse.当不可…
ComboBox是一个有下拉列表的文本显示框,其text为当前的文本,item属性为项 comboBox1.Items.Add("); id = comboBox1.Text; 可以采用selectedtext和selecteditem获取当前选中的文本和项,该控件使用过程中并无较大难点,只需多使用并记住常用的属性即可掌握该控件的使用. 其项的添加可以采用上面的程序,也可以在属性中的item中手动添加,但为了方便程序的阅读和修改,最好还是在程序中用代码进行项的添加和删除. 2018.08.03…
简单的登陆界面的编写,在编写如下界面时,设置错误次数上限需要用到静态变量 public static int count;//计算错误次数(为静态变量) 可以防止点击登陆后次数被清空,在登陆后打开新的窗体,需要用到代码 ListView_1 newform = new ListView_1();//打开ListView_1窗体 newform.Show(this); 在此需要新定义一个newform,用.show的方法打开新的窗体,关于原先窗体的关闭或隐藏,我还没有学会,利用this.Owner…
最近很多朋友向我提出Office的开发方式方面的疑惑,主要是针对特定的系统和Office版本不知道选择哪一种编程语言.创建哪一种类型的项目. 事实确实如此,如果搞不清楚语言的特性和项目类型的特点,很可能走很多弯路.也可能导致开发完的产品不能部署在客户电脑上. 无论从哪一个角度讲,Office开发都是一个相当庞大.复杂的话题. 下面是我整理出的一个按照开发项目分类的表格(*凡是写有VB.NET的地方,表示C#语言也可以做到). 话题1:32位和64位的问题 Windows系统分为32位和64位.…
2021.08.06 P4392 Sound静音问题(ST表) [P4392 BOI2007]Sound 静音问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 序列a,求a中子序列长度为m且子序列max-min<=cha的子序列起点. PS:st表容易MLE,只需要开logm的数组,而不是logn,而且不需要记录原数组: ​ 如果没有一个子序列满足条件,输出NONE!! 分析: 裸的ST表. 代码如下: #include<cstdio> #include&l…
2021.08.06 P2441 角色属性树(树形结构) P2441 角色属性树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求离x最近的祖先y且(x,y)>1. 分析: 数据水,暴力能过.正解究竟是啥,很令人疑惑. 代码如下: #include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int N=2e5+10; int n,m…
2021.08.06 P3478 STA-Station(树形结构) [P3478 POI2008]STA-Station - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给定一个 nn 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大. 一个结点的深度之定义为该节点到根的简单路径上边的数量. 分析: 设x的父节点为y,则根节点从y移到x: \[f[x]=f[y]-size[x]+(n-size[x]) \\ f[x]=f[y]+n-2*szie[…
在Excel 中编写VBA 代码,最常做的事可能就是操作表单中单元格里的数据. 我这里总结一下如何从VBA 代码中操作单元格的数据. 在VBA 代码中操作单元格需要用到Range 对象,Range 是Excel 库(即Excel.exe文件)提供的一个类,封装了对表单中单元格的所有操作.Range 对象可以是一个单元格,一行单元格,一列单元格,或者四方的连续的单元格范围,甚至是几个单元格范围组合在一起.至于一个具体的Range 对象到底代表什么,就看我们怎么构造它了.(注,Range 类不支持N…
在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难.因为你不能按列进行筛选删除.Excel中没有这个功能.当然你可以用另外一种方法,就是按列进行排序将空白列排序在一起,然后删除,但这种方法面临着列的顺序被打乱的问题,吃力不讨好.本文将利用Excel中强大VBA功能来完成. 假设要删除如下图中的空白行或空白列: 文件->选项->自定义功能区->主选项卡->开发工具 插入按钮 表单控件或者ActiveX控件都…
时间:2018.08.17地点:北京金隅喜来登大酒店…
查看加密的vba代码,可以使用这个工具,excel文件里面的宏代码一览无余. https://files.cnblogs.com/files/laoxia/PVP.zip…
时间:2018.08.14地点:北京国际会议中心…
1.创建数据库(create) CREATE DATABASE database-name 2.删除数据库(drop) drop database dbname 3.备份数据库 --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.创建新表 create…
主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分为业务主键和逻辑主键. 业务主键是使用有业务意义的字段做主键,例如身份证号.银行账号等. 逻辑主键是使用没有任何业务意义的字段做主键,完全用来给程序看,是业务人员不会看的数据,推荐使用逻辑主键. 逻辑主键设置方法为将设计页面中列属性栏的表示规范切换为是即可,在输入记录时,逻辑主键字段可以不输入,系统…
s.split()用于字符串分割,具有多种重载方法,可以通过指定字符或字符串分割原字符串成为字符串数组. //s.Split()用于分割字符串为字符串数组,StringSplitOptions.RemoveEmptyEntries可以舍去数组中的空格 string[] str=s.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries); string[] str = s1.Split(',', '|');//split()内参数为…
ToLower()用于将字符串变为小写,注意字符串的不可变特性,需要重新赋值给另一个字符串变量. s = s.ToLower();//字符串具有不可变性,转换后需要重新赋值,不可仅有s.ToLower(); 这可以使用户的输入不区分大小写,例如验证码. ToUpper()用于将字符串全部变为大写,与上面类似. Trim()可以用于去掉两边的空格. string s1 = " a b c "; s1 = s1.Trim();//用于去除字符串两边的空格 Console.WriteLine…
ref用于传递参数时,将实参传递到函数中,是引用参数,在使用前必须被赋值.string类型也同样适用. static void Main(string[] args) { string a1,a2; int i = 10, j = 20; swap(ref i, ref j); Console.WriteLine("i={0},j={1}",i, j); Console.ReadKey(); } static void swap(ref int i,ref int j)//ref用于调…