摘要: 以前推荐的方法,随着方正飞翔网站上关闭了数学公式输入法的支持也不能不用了,现在再推荐一个可以在word2010以上版中快捷输入数学公式的方法,安装AxMath,一切问题都OK!我是直接购买的正版,25元!!25元即可。 强烈推荐! 阅读全文
posted @ 2017-09-12 20:45 surfacetension 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 测试环境 win10(64位) office2010(32位)——64位的没有测试,估计应该也可以。 需要软件(包)(请按照下面顺序安装) ①VC运行库(自行百度下载即可) ②北大方正word公式数学输入法 输入法软件: 万能五笔输入(www.wnwb.com下载最新版) 以上软件均安装好后,在wo 阅读全文
posted @ 2016-03-30 14:57 surfacetension 阅读(9151) 评论(0) 推荐(0) 编辑
摘要: 如果在安装输入法时遇到了无法安装的情况,请首先百度下VC运行库安装下(32位64位都安就是),然后安装北大方正word公式输入法,此时不会再提示无法安装,接着(关键)在word应用程序图标右键-》更多-》以管理员权限(身份)运行。在选项中的加载项中手动添加即可(这步自己摸索吧!!) 阅读全文
posted @ 2016-03-24 14:25 surfacetension 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 运算符优先级如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符。下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Pyt... 阅读全文
posted @ 2014-12-05 14:58 surfacetension 阅读(15431) 评论(1) 推荐(0) 编辑
摘要: 解决①当前文件夹的完整路径;②更改文件名或文件夹名称;③查找文件或文件夹(文件夹也可以)Option Explicit'---------------------------------------------------------------------------------------' Procedure : VBATest10' Author : Administrator' Date : 2013-12-9 18:51' Purpose : 验证操作文件及文件夹的方法(通过函数实现目的)'---------------------- 阅读全文
posted @ 2013-12-09 20:03 surfacetension 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 以前一直搞不明白,VBA中的数组到底是什么,尤其是数组中的维度问题,更是感觉乱的很,总搞不清楚维度到底是按行定义还是按列定义,比如myArr(1 to 5, 1 to 3)数组,它是几维的?以前一直以为既然是5行3列,所以应该是5维的,这种认识当然是错误的了,但不知道什么原因,一直按这样来理解着用它来解决问题,但也一直没有出错.现在终于明白,一维就是数学上的x轴坐标系;二维数组(先定义行,后定义列)就是数学上的xy坐标系;三维就是数学上的xyz坐标系(有点类似,行/列/表的集合).至于上面提到的1 to 5,只是行数为5行,而1 to 3只是列数为3列而已.'------------- 阅读全文
posted @ 2013-12-09 18:40 surfacetension 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 昨天晚上弄的,算是对这几天辛苦啃书的总结Sub VBATest003() Dim i As Single, j As Single, k As Single Dim Result As Single i = 45.33 j = 19.24 Result = myFunction(i, j) Debug.Print Result Debug.Print "子过程中的i=" & iEnd SubRem=之所以会出现所谓的形参/值参或按地址和按值传递参数的说法就是因为Rem=在函数过程中与数学上的函数还不真的一样,因为数学上的函数表达式只一个,只要给了自变量... 阅读全文
posted @ 2013-12-07 22:46 surfacetension 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 1 '--------------------------------------------------------------------------------------- 2 ' Procedure : VBATest005 3 ' Author : Administrator 4 ' Date : 2013-12-6 5 ' Purpose : ①测试如何快速对单元格进行判断并操作; 6 ' Purpose : ②测试如何对程序运行时间进行计时!!(以前可是不敢用的^_^) 7 '----------------------- 阅读全文
posted @ 2013-12-06 21:55 surfacetension 阅读(681) 评论(0) 推荐(0) 编辑
摘要: Object 变量存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object 的变量可以赋值为任何对象的引用。第一次注意到还有个数据类型,帮助文件里只有上面这一段话,但其利用Set语句话出卖了它,说明其为对象变量,可以引用Excel中的任何对象.下面是一段测试代码:Sub 测试Object对象变量() '第1次遇到Object变量,以前从没用过 '下面的代码用来测试其可以做什么!! 'Object对象变量用来引用Excel中的任何对象!! Dim objMy As Object Set objMy = Sheets(2) Debu 阅读全文
posted @ 2013-12-04 20:17 surfacetension 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 很明显的要求待合并工作簿中的数据格式统一,并且放置在第1个工作表中(是不是要求太高?!)以前也写过一个代码,但代码运行时间太长,40个班的数据大约需要5分钟的时间,而这段代码大约只需要10秒钟的时间.Option ExplicitSub 合并不同工作簿中的数据至同一工作簿中() '利用工作簿对象及数组来实现 '不知道利用单元格对象能否实现. '清除掉目标工作表的数据,只保留标题行 Worksheets("成绩").Activate Range("2:65536").Clear '借助工作簿对象实现合并 Dim fileNa 阅读全文
posted @ 2013-11-28 20:32 surfacetension 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 速度奇快!!感觉好爽!!!再一次体会到了对象的魅力.Sub 合并工作表中数据至同一工作簿中() '清除掉除标题行外的所有数据 Worksheets("成绩").Activate Range("2:65536").Clear '又学会了一种表示落围的方法 '借助工作表对象进行合并 Dim Wb As Worksheet, myRng As Range For Each Wb In Worksheets With Wb If .Name "成绩" And .Name "成绩备份" Then .. 阅读全文
posted @ 2013-11-28 19:55 surfacetension 阅读(395) 评论(0) 推荐(1) 编辑
摘要: 改进说明:以前的时候太依赖于for循环,造成必对班号有特别要求,如果原始数据表不是连续的,还要先进行手动调整,一直感觉很别扭,虽然知道可以通过逐个单元格进行判断,但那样的话就对程序运行的过程无法做到掌控,所以一直处于抵触状态.今天通过看VBA的程序设计一书,完美的解决了这个问题,而且对循环的另两种表达形式:for each 和do while语句有了全新的认识,更重要的是对VBA中的对象概念有了初步的认识,第一次认识到VBA中的对象完全可以解决以前全过程性的程序设计.今天这个程序是对按班号提取工作表进行改进,而且专门对班号的排列进行了混编,保证班号无序/班号不连续,这样就可以基本保证无法用fo 阅读全文
posted @ 2013-11-28 10:07 surfacetension 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 此程序主要是验证文件功能的读写功能,总结到的东西有:①文件无论是读还是写,都要先建立链接关系才可以进行;②读与写不能同时进行,必须分开操作,这也可以理解,在实际鼠标操作时也是如此的!③读写后必须用close(文件变量名)关掉读写的文件;④学会了如何生成随机整数,并且学会了如何节省验证时间不再从键盘输入. 1 program Test07; 2 var 3 f:text; 4 i,a,b,c,max:integer; 5 begin 6 assign(f,'test.txt'); 7 rewrite(f); 8 randomize; 9 //生成三个随机数10 for... 阅读全文
posted @ 2013-10-11 10:47 surfacetension 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 虽然写出了代码,但一直没有明白其过程是如何实现的。 1 program E_daoxu; 2 procedure daoxu; 3 var 4 a:char; 5 begin 6 readln(a); 7 if a'*' then 8 daoxu; 9 write(a);10 end;11 12 begin13 daoxu;14 readln;15 16 end. 后面再慢慢的分析,一步步的来吧。下面是在网上找到的一段代码,和我同样的问题:为什么不是到输入的a为‘*’时只输出‘*’,而是将所有的原来输入的字符全都输出,并且是倒... 阅读全文
posted @ 2013-09-25 19:13 surfacetension 阅读(677) 评论(0) 推荐(0) 编辑
摘要: program fbnq;{输出菲波拉契数列的前10项}var a:array[1..10] of integer; i:integer;begin a[1]:=1; a[2]:=1; for i:=3 to 10 do a[i]:=a[i-1]+a[i-2]; for i:=1 to 10 do begin write(a[i],' '); end; readln;end. 阅读全文
posted @ 2013-09-25 08:28 surfacetension 阅读(343) 评论(1) 推荐(0) 编辑
摘要: 疑问1:如果一个数组变量未定义维度(一维或二维),则其默认为一维?二维?更或多维?两个方面:①若接下来直接对数组赋组的话,则会提示下标超界1 Dim arr() As Integer2 3 arr(1) = 14 5 arr(1, 1) = 1第3句:提示下标超界;第5句:提示下标超界.原因就是未使用Redim语句指定其下界和上界,改为下面的代码1 Dim arr() As Integer2 ReDim arr(3)3 arr(1) = 14 MsgBox arr(1)5 ReDim arr(3, 2)6 arr(1, 1... 阅读全文
posted @ 2013-03-14 15:46 surfacetension 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 受命编写考试成绩的对比分析程序.一个下午写完,发现程序运行时间太长,竟然需要将近10分钟的时间(可能是电脑配置太低).不再过多解释,直接上程序吧,一看就知道太麻烦. 1 Option Explicit 2 Option Base 1 3 Sub A上线数据分析() 4 Dim i As Integer, j As Integer, mySheet() As String, k As Integer, m As Integer 5 Dim bjshu As Integer, dkcj(), totalR As Integer, fs() As Double, mc() ... 阅读全文
posted @ 2013-03-14 09:21 surfacetension 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 前面已经写过两个成绩处理程序了,但运行速度实在太慢,处理一个年级的成绩约需5分钟,根本没法体会到在VFP中的那种快感,现在又重新改写了原程序,在前面编写学分认定的程序时,慢慢体会到了在VBA中应用数组的方便与简洁,所以这次出发点从数组的角度考虑问题.由于没做界面所以也没法让用户(其实用户就是我自己)选择,只能做一点点的硬性要求:将原始成绩放置到第1个工作表,第1列必须是班级号,从第4列起为依次为单科和总分成绩,(第2列/第3列为姓名/考试号).工作表的名称随便起,存储成绩分析的工作表名字必须为"成绩分析",否则报错.以下是源程序: 1 Option Base 1 2 Sub 阅读全文
posted @ 2013-03-14 08:21 surfacetension 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 按照要求,发展报告中的数据文件共有9个: 程序实现的目标是对xx文件,要按照省定的课程要求,自动生成表中所要求的数据,并且合格,达到学生学分毕业的要求.其余9个文件,是属于班主任负责填写,只需要收齐后自动合并成一个大表便于数据处理就可. 目标要求:自动生成3个年级对应的文件夹,并在一级文件夹下建立二级文件夹(分文理科),以便于下面数据的处理. 源程序如下: Option Expl... 阅读全文
posted @ 2013-03-04 14:59 surfacetension 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 近期在整理学生学籍信息时,需要按班分拣出各班学生信息,便于班主任核对正误,结果按平常的方法分完后,发现每个班级的文件竟然达到30多M,这也是第一次遇到这种情况,在网上找了下,发现提到有各处对象,或者代码太多等等,但文件里只是一些学生信息而已,哪来的图表对象等。后来转到页面视图发现整个表格都被设置为了可打印区域,就估计可能是这个原因造成,试着把所有空白页都删除后,竟然小到只20多K,看来就是这个原因,但是文件太多了(40多个),一一手动删除太慢,就写了如下的代码可以快速删除空白页,有兴趣的可以自己试试。首先新建一个电子表格,用于存储代码。Option ExplicitOption Base 1S 阅读全文
posted @ 2012-10-25 18:14 surfacetension 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: Option Base 1 '此为对字串进行分列处理,将每个学生的每个小题的选项进行分列。 Sub 分列操作() Dim i As Integer, totalR As Integer, j As Integer totalR = Range("A65536").End(xlUp).Row For i = 2 To totalR For j = 1 To Len(Cells(i, 5).Va... 阅读全文
posted @ 2012-10-20 11:33 surfacetension 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 学了一周多点的时间自己试着编了一个平抛曲线的动画,但是心里并没有像当年第一次写出自己的VBA程序那样兴奋了。不知啥原因。package{import flash.display.Sprite;import flash.events.Event;import flash.events.MouseEvent;public class Ex026 extends Sprite{private var vx:Number=12;private var vy:Number=0;private var ay:Number=0.5;private var arrow:Arrow;public functio 阅读全文
posted @ 2012-04-10 21:03 surfacetension 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 使用Flash Builder在ActionScript中嵌入资源:[Embed(source="图片2.jpg")];public var Picture:Class;此时编译器会提示如下错误“元数据需要关联的定义”,其实是因为第一行最后多了个分号,改为下面的即可:[Embed(source="图片2.jpg")]public var Picture:Class;如果此时编译器显示”无法转换代码“图片2.jpg””或者”无法解析用于转换代码的“图片2.jpg””等错误,则表明在src文件夹下未找到0.jpg文件,注意是src文件夹而不是bin-debu 阅读全文
posted @ 2012-04-05 10:14 surfacetension 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 上一篇中提到了一个问题:就是如何实现对类的重用。现在对面向对象有点感觉了,只是用起来还有些生硬。关于类的重用,现在掌握的方法就是将类文件与项目文件放在同一目录下,即可以自动添加到项目中,从而实现代码重用。一、类构建(因为经常要用到这个箭头进行一些验证性的工作,所以把其做成类。)package{import flash.display.Sprite;public class Arrow extends Sprite{public function Arrow(){init();}public function init():void{graphics.lineStyle(1,0,1);graph 阅读全文
posted @ 2012-04-04 09:06 surfacetension 阅读(225) 评论(0) 推荐(0) 编辑
摘要: package{import flash.display.Sprite;import flash.events.Event;public class Ex010 extends Sprite{public var jt:Sprite;public function Ex010(){init();}public function init():void{jt=new Sprite();addChild(jt);jt.graphics.lineStyle(1,0,1);jt.graphics.beginFill(0xffff00);jt.graphics.moveTo(0,-25);jt.grap 阅读全文
posted @ 2012-04-04 08:05 surfacetension 阅读(259) 评论(1) 推荐(0) 编辑
摘要: 今天开始正式折腾Flash Builder4.6,整整一天的时间写了个关于小球在屏幕上移动的动画。发到博客上,算是今天的一个总结吧。package{ import flash.display.Sprite; import flash.events.Event; public class Ex004 extends Sprite { private var ball:Sprite; public function Ex004() { init(); } private function init():void { ball=new Sprite(); addChild(ball); ball.. 阅读全文
posted @ 2012-04-03 15:58 surfacetension 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 问题的提出:一般而言,考场座号都是1至30号,如果考场数较少的话,完全可以采用鼠标操作,但是如果考场数太多,尤其是在填充考场号时才是麻烦!!比如高考考场的安排,那工作量可想而知,以前都是鼠标操作的方式进行,感觉特别别扭,现在想着用VBA实现自动操作。 实现的思路:先计算出共有多少个学生需要编排考场,然后利用ceiling函数取得向上的最小整数,即为考场数。利用考场数即为需要循环操作的次数即可实现。... 阅读全文
posted @ 2011-08-13 08:22 surfacetension 阅读(817) 评论(0) 推荐(0) 编辑
摘要: 国家级示范高等职业院校名单(100所) 阅读全文
posted @ 2011-07-02 08:10 surfacetension 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 首先感谢http://www.nenew.net/(奶牛博客)的文章,让我三天没解决的花屏问题终于得到解决。我的电脑配置:联想旭日120,04年机器,够老了吧?什么配置大家想想就可以了,重点是集成的intel的显卡,型号好像是G8**,我也记不起来了。机器原来装的XP,4月28日看到ubuntu升级,一激动下来ISO文件开始刻盘、安装,一切顺利,也没有出现花屏,可以任何问题都没出,爽了三天,后来不知道怎么搞的,系统乱了,谷歌浏览器点开没反应,也不大会鼓捣linux就想着重装,光驱也不大好用了,读盘能力直线下降,用尽各种方法,终于把系统给重装了,那个激动啊,结果一重启,先是花屏两下,接着黑屏,但 阅读全文
posted @ 2011-05-06 01:44 surfacetension 阅读(2850) 评论(1) 推荐(0) 编辑
摘要: 解决了如何搜索指定目录下的文件及如何更改文件名并添加学生个人信息 Option Base 1 Sub 添加学生个人信息() Dim MyFile As String, MyPath As String, i As Integer, Arr() As String, j As Integer Dim wb As Workbook, xm As String, dz As String, MyRang... 阅读全文
posted @ 2011-05-04 16:32 surfacetension 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 以前从没在Excel中利用VBA汇总过数据,其实在Excel中也几乎没有汇总过数据,主要要是因为很多时候汇总还不如直接计算来的直接。既然看到这儿了,就把汇总数据好好学习一下吧。 根据实际情况一般而言,需要汇总的数据源有两种:①在同一工作簿中的所有工作表或指定工作表;②不同工作簿中的指定工作表(这种情况下往往不会是所有工作簿中的所有工作表)。下面分情况解决: ①在同一工作簿中的所有工作表的汇总: 先... 阅读全文
posted @ 2011-04-29 19:52 surfacetension 阅读(1423) 评论(2) 推荐(0) 编辑
摘要: 这个问题应该可以说几乎算不上问题的,就是从后往前逐个单元格进行检查就可以,只要为空,就将该单元格所在行删掉。但今天发现一个更快速的方法,利用specialcells方法,速度更快。冲着这个执行的速度,代码的简洁值得为它单写一篇博客。 代码非常简单: Sub 快速删除含有空白单元格的行() '下面代码均可以实现相同效果 Columns(1).SpecialCells(xlCellTypeBlanks... 阅读全文
posted @ 2011-04-29 17:58 surfacetension 阅读(2954) 评论(0) 推荐(0) 编辑
摘要: 原来的问题是①如何实现从前向后查找或从后向前查找;②若查找不到的话,如何处理。 看不懂代码的感觉和看懂了并能进一步改进的感觉就是不一样啊。 不管想解决哪一个问题,都离不开find方法,所以按惯例(抄袭都成惯例,所以可以理解那些人为什么打嘴仗了……)先把官方解释给搬过来,因为我发现最权威的往往是官方解释,不服不行。 见谅啊,没办法,刚刚升级为G3.9,咱也不知道怎么回事,在VBA帮助文件里的东西复制... 阅读全文
posted @ 2011-04-29 16:49 surfacetension 阅读(4686) 评论(0) 推荐(0) 编辑
摘要: 在前面已经用过Split函数了,可以方便的获取指定单元格的行标或列标,具体的用法可以参见以下代码: Sub 获取指定列的字母() Debug.Print Cells(1, 27).Address Debug.Print Split(Cells(1, 27).Address, "$")(1) End Sub 下面是关于Split函数的一些认识,肯定不全,但也得记下来,不然以后怎么再复习呢。切记:好记... 阅读全文
posted @ 2011-04-29 10:12 surfacetension 阅读(6895) 评论(0) 推荐(0) 编辑
摘要: 1、如何复制 按平时的操作习惯可以知道,只需定位第1个位置即可。 '如果想通过复制/粘贴方式呢,只需指定第1个单元格即可. With Workbooks("验证Range.xls").Sheets(2) .Range("A1").CurrentRegion.Copy Destination:=Workbooks("book2.xls").Sheets(3).Range("A1") End With... 阅读全文
posted @ 2011-04-26 20:14 surfacetension 阅读(2481) 评论(0) 推荐(0) 编辑
摘要: 改进主要集中在标准答案选项的组合提取;各题得分的判断. ①将学生答案进行分列处理: 原效果图: Sub 分列操作() Dim i As Integer, totalR As Integer, j As Integer totalR = Range("A65536").End(xlUp).Row For i = 2 To totalR For j = 1 To Len(Cells(i, 4).Val... 阅读全文
posted @ 2011-04-20 07:58 surfacetension 阅读(403) 评论(0) 推荐(1) 编辑
摘要: 问题提出:由于阅卡机的原因,导致无法提取单科成绩,这个程序就是解决这个问题. 代码如下: (1)取得标准选项的各种组合 需要准备的数据:题号及标准选项,C列及后续列为程序生成. Sub 取得标准选项的各种组合() Dim totalR As Integer, i As Integer Worksheets("答案").Activate totalR = Range("A65536").End(xl... 阅读全文
posted @ 2011-04-17 09:18 surfacetension 阅读(293) 评论(0) 推荐(0) 编辑
摘要: Sub 保存工作簿的3种方法() ActiveWorkbook.Save '保存当前活动工作簿的变化 ActiveWorkbook.SaveAs Filename:="c:\windows\xiehui.xls" '将当前活动工作簿另存 ActiveWorkbook.SaveCopyAs Filename:="c:\windows\xiehui.xls" '这行代码可以实现备份的要求. Activ... 阅读全文
posted @ 2011-04-15 19:30 surfacetension 阅读(1153) 评论(0) 推荐(0) 编辑
摘要: 问题:有处理学生评语,限于网络条件,往往学生提交的都是单个文件,这就需要将其一一提取出来,然后进行判断、导出等操作,但首先要解决的就是查找所有文件如何操作,这里需要用到Dir函数,当然创建一个文件搜索对象也可以。 Dir 函数 返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。 语法 Dir[(pathname[, attributes... 阅读全文
posted @ 2011-04-15 10:02 surfacetension 阅读(3273) 评论(1) 推荐(0) 编辑
摘要: 问题提出:默认情况下,新建工作簿时都是给出3张工作表,如果在让老师们整理一些材料时,不清楚的老师往往乱点,如果一个工作簿只有1张工作表的话,就可以有效地避免这个现象。 解决代码: Sub AddNewWorkbook() Workbooks.Add Template:=xlWBATWorksheet '以工作表作为模版,此时只建立一张工作表 Workbooks.Add '若不加模版参数,则为默认3... 阅读全文
posted @ 2011-04-15 08:46 surfacetension 阅读(667) 评论(0) 推荐(1) 编辑