搜档网
当前位置:搜档网 › ExcelVBA常用代码总结1

ExcelVBA常用代码总结1

ExcelVBA常用代码总结1
ExcelVBA常用代码总结1

Excel VBA常用代码总结1

?改变背景色

Range("A1").Interior.ColorIndex = xlNone

ColorIndex一览

?改变文字颜色

Range("A1").Font.ColorIndex = 1

?获取单元格

Cells(1, 2)

Range("H7")

?获取围

Range(Cells(2, 3), Cells(4, 5))

Range("a1:c3")

'用快捷记号引用单元格

Worksheets("Sheet1").[A1:B5]

?选中某sheet

Set NewSheet = Sheets("sheet1")

NewSheet.Select

?选中或激活某单元格

'“Range”对象的的Select方法可以选择一个或多个单元格,而Activate方法可以指定某一个单元格为活动单元格。

'下面的代码首先选择A1:E10区域,同时激活D4单元格:

Range("a1:e10").Select

Range("d4:e5").Activate

'而对于下面的代码:

Range("a1:e10").Select

Range("f11:g15").Activate

'由于区域A1:E10和F11:G15没有公共区域,将最终选择F11:G15,并激活F11单元格。

?获得文档的路径和文件名

ActiveWorkbook.Path '路徑

https://www.sodocs.net/doc/df15835409.html, '名稱

ActiveWorkbook.FullName '路徑+名稱

'或将ActiveWorkbook换成thisworkbook

?隐藏文档

Application.Visible = False

?禁止屏幕更新

Application.ScreenUpdating = False

?禁止显示提示和警告消息

Application.DisplayAlerts = False

?文件夹做成

strPath = "C:\temp\"

MkDir strPath

?状态栏文字表示

Application.StatusBar = "计算中"

?双击单元格容变换

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If (Target.Cells.Row >= 5And Target.Cells.Row <= 8) Then If Target.Cells.Value = "●"Then

Target.Cells.Value = ""

Else

Target.Cells.Value = "●"

End If

Cancel = True

End If

End Sub

?文件夹选择框方法1

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder(0, "文件", 0, 0)

If Not objFolder Is Nothing

Then path= objFolder.self.Path & "\"

end if

Set objFolder = Nothing

Set objShell = Nothing

?文件夹选择框方法2(推荐)

Public Function ChooseFolder() As String

Dim dlgOpen As FileDialog

Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker) With dlgOpen

.InitialFileName = ThisWorkbook.path & "\"

If .Show = -1Then

ChooseFolder = .SelectedItems(1)

End If

End With

Set dlgOpen = Nothing

End Function

'使用方法例:

Dim path As String

path = ChooseFolder()

If path <> ""Then

MsgBox"open folder"

End If

?文件选择框方法

Public Function ChooseOneFile(Optional TitleStr As String = "Please choose a file", Optional TypesDec As String = "*.*", Optional Exten As String = "*.*") As String

Dim dlgOpen As FileDialog

Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)

With dlgOpen

.Title = TitleStr

.Filters.Clear

.Filters.Add TypesDec, Exten

.AllowMultiSelect = False

.InitialFileName = ThisWorkbook.Path

If .Show = -1Then

' .AllowMultiSelect = True

' For Each vrtSelectedItem In .SelectedItems

' MsgBox "Path name: " & vrtSelectedItem

' Next vrtSelectedItem

ChooseOneFile = .SelectedItems(1)

End If

End With

Set dlgOpen = Nothing

End Function

?某列到关键字为止循环方法1(假设关键字是end)

Set CurrentCell = Range("A1")

Do While CurrentCell.Value <> "end"

……

Set CurrentCell = CurrentCell.Offset(1, 0)

Loop

?某列到关键字为止循环方法2(假设关键字是空字符串)

i = StartRow

Do While Cells(i, 1) <> ""

……

i = i + 1

Loop

?"For Each...Next 循环(知道确切边界)

For Each c In Worksheets("Sheet1").Range("A1:D10").Cells If Abs(c.Value) < 0.01Then c.Value = 0

Next

?"For Each...Next 循环(不知道确切边界),在活动单元格周围的区域循环For Each c In ActiveCell.CurrentRegion.Cells

If Abs(c.Value) < 0.01Then c.Value = 0

Next

?某列有数据的最末行的行数的取得(中间不能有空行)

lonRow=1

Do While Trim(Cells(lonRow, 2).Value) <> ""

lonRow = lonRow + 1

Loop

lonRow11 = lonRow11 - 1

?A列有数据的最末行的行数的取得另一种方法

Range("A65536").End(xlUp).Row

?将文字复制到剪贴板

Dim MyData As DataObject

Set MyData = New DataObject

MyData.SetText Range("H7").Value

MyData.PutInClipboard

?取得路径中的文件名

Private Function GetFileName(ByVal s As String)

Dim sname() As String

sname = Split(s, "\")

GetFileName = sname(UBound(sname))

End Function

?取得路径中的路径名

Private Function GetPathName(ByVal s As String)

intFileNameStart = InStrRev(s, "\")

GetPathName = Mid(s, 1, intFileNameStart)

End Function

?由模板sheet拷贝做成一个新的sheet

ThisWorkbook.Worksheets("template").Copy

After:=ThisWorkbook.Worksheets(Sheets.Count)

Set doc_s = ThisWorkbook.Worksheets(Sheets.Count)

doc_https://www.sodocs.net/doc/df15835409.html, = "newsheetname" & Format(Now, "yyyyMMddhhmmss")

?选中当列的最后一个有容的单元格(中间不能有空行)

'删除B3开始到B列最后一个有容的单元格为止的所有容

Range("B3").Select

Range(Selection, Selection.End(xlDown)).Select

Selection.ClearContents

?常量定义

Private Const StartRow As Integer = 3

?判断sheet是否存在

Private Function IsWorksheet(ByVal strSeetName As String) As Boolean On Error GoTo ErrHandle

Dim blnRet As Boolean

blnRet = IsNull(Worksheets(strSeetName))

IsWorksheet = True

Exit Function

ErrHandle:

IsWorksheet = False

End Function

?向单元格中写入公式

Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"

?引用命元格区域

Range("MyBook.xls!MyRange")

Range("[Report.xls]Sheet1!Sales"

?选定命名的单元格区域

Application.Goto Reference:="MyBook.xls!MyRange"

'或者

worksheets("sheetname").range("rangename").select

Selection.ClearContents

?使用Dictionary

'使用Dictionary需要添加参照Microsoft Scripting Runtime

Dim dic As New Dictionary

dic.Add "Table", "Cards"'前面是 Key 后面是 Value

dic.Add "Serial", "serialno"

dic.Add "Number", "surface"

MsgBox dic.Item("Table") '由Key取得Value

dic.Exists("Table") '判断某Key是否存在

?将EXCEL表格中的两列表格插入到一个Dictionary中

'函数:在ws工作表中,从iStartRow行开始到没有数据为止,把iKeyCol列和iKeyCol右一列插入到一个字典中,并返回字典。

Public Function SetDic(ws As Worksheet, iStartRow, iKeyCol As Integer) As Dictionary

Dim dic As New Dictionary

Dim i As Integer

i = iStartRow

Do Until ws.Cells(i, iRuleCol).Value = ""

If Not dic.Exists(ws.Cells(i, iKeyCol).Value) Then

dic.Add ws.Cells(i, iKeyCol).Value, ws.Cells(i, iKeyCol + 1).Value

End If

i = i + 1

Loop

Set SetDic = dic

End Function

?判断文件夹或文件是否存在

'文件夹

If Dir("C:\aaa", vbDirectory) = ""Then

MkDir"C:\aaa"

End If

'文件

If Dir("C:\aaa\1.txt") = ""Then

msgbox"文件C:\aaa\1.txt不存在"

end if

?一次注释多行

视图---工具栏---编辑调出编辑工具栏,工具栏上有个“设置注释块” 和“解除注释快”

?打开文件并将文件赋予到第一个参数wb中

'注意,这里的path是文件的完整路径,包括文件名。

Public Function OpenWorkBook(wb As Workbook, path As String) As Boolean On Error GoTo Err

OpenWorkBook = True

Dim isWbOpened As Boolean

isWbOpened = False

Dim fileName As String

fileName = GetFileName(path)

'check file is opened or either

Dim wbTemp As Workbook

For Each wbTemp In Workbooks

If https://www.sodocs.net/doc/df15835409.html, = fileName Then isWbOpened = True Next

'open file

If isWbOpened = False Then

Workbooks.Open path

End If

Set wb = Workbooks(fileName)

Exit Function

Err:

OpenWorkBook = False

End Function

[实用参考]VBA常用代码大全.doc

前言 我们平时在工作表单元格的公式中常常使用函数,EGcel自带的常用的函数多达300多个,功能强大,丰富多彩,但是在VBA中不能直接应用,必须在函数名前面加上对象,比如:Application.WorksheetFunction.Sum(arg1,arg2,arg3)。 而能在VBA中直接应用的函数也有几十个,下面将逐一详细介绍常用的40个VBA函数,以供大家学习参考。 第1.1例ASC函数 一、题目: 要求编写一段代码,运行后得到字符串”EGcel”的首字母和”e”的ASCII值。二、代码: Sub示例_1_01() DimmyNum1%,myNum2% myNum1=Asc("EGcel")'返回69 myNum2=Asc("e")'返回101 [a1]="myNum1=":[b1]=myNum1 [a2]="myNum2=":[b2]=myNum2 EndSub 三、代码详解 1、Sub示例_1_01():宏程序的开始语句。 2、DimmyNum1%,myNum2%:变量myNum1和myNum2声明为整型变量。 也可以写为DimmyNum1AsInteger。Integer变量存储为16位(2个字节)的数值形式,其范围为-32,768到32,767之间。Integer的类型声明字符是百分比符号(%)。 3、myNum1=Asc("EGcel"):把Asc函数的值赋给变量myNum1。

Asc函数返回一个Integer,代表字符串中首字母的字符的ASCII代码。 语法 Asc(string) 必要的string(字符串)参数可以是任何有效的字符串表达式。如果string中没有包含任何字符,则会产生运行时错误。 4、myNum2=Asc("e"):把Asc函数的值赋给变量myNum2。这里返回小写字母e的ASCII代码101。 5、[a1]="myNum1=":[b1]=myNum1:把字符串“myNum1=“赋给A1单元格,把变量myNum1的值赋给B1单元格。 6、[a2]="myNum2=":[b2]=myNum2:把字符串“myNum2=“赋给A2单元格,把变量myNum2的值赋给B2单元格。 7、EndSub:程序的结束语句,和“Sub示例_1_01()”相对应。 第1.2例Chr函数 一、题目"": 要求编写一段代码,运用Chr函数将ASCII值转换为对应的字符。 二、代码: Sub示例_1_02() DimmyChar1$,myChar2$ myChar1=Chr(69)'返回E。 myChar2=Chr(101)'返回e。 [a1]="myChar1=":[b1]=myChar1 [a2]="myChar2=":[b2]=myChar2 EndSub 三、代码详解

MATLAB特征提取代码讲课稿

f=strcat('D:\bishe\',num2str(i)); image=strcat(f,'.jpg'); PS=imread(image); PS=imresize(PS,[300,300],'bilinear');%归一化大小 PS=rgb2gray(PS); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP 中相应位置 end %直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 %图像均衡化 f=PS; for i=0:255 f(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(f); %边缘检测 f=edge(f,'canny',0.25); imshow(f); %二值法锐化图像 f=double(f); [x,y]=gradient(f); g=sqrt(x.*x+y.*y); i=find(g>=0.5); g(i)=256; j=find(g<0.5); g(j)=0; imshow(g); title('二值法锐化图像'); %中值滤波 g=medfilt2(g); g=dither(g);

MATLAB特征提取代码

MATLAB特征提取代码 for i=1:26 f=strcat('D:\bishe\',num2str(i)); image=strcat(f,'.jpg'); PS=imread(image); PS=imresize(PS,[300,300],'bilinear');%归一化大小 PS=rgb2gray(PS); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 end %直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 %图像均衡化 f=PS; for i=0:255 f(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(f); %边缘检测 f=edge(f,'canny',0.25); imshow(f); %二值法锐化图像 f=double(f); [x,y]=gradient(f); g=sqrt(x.*x+y.*y); i=find(g>=0.5); g(i)=256; j=find(g<0.5); g(j)=0; imshow(g); title('二值法锐化图像'); %中值滤波 g=medfilt2(g); g=dither(g); imshow(g);

网众NXP错误代码解析

网众NXP错误代码解析 DDE(1)未知错误 DDE(2)磁盘快照打开模式错误 DDE(3)磁盘已经打开 DDE(4)磁盘文件没有找到 DDE(5)超级工作站文件已经存在 1)还原时发现超级工作站更新文件存在 2)转存时发现超级工作站更新文件存在 DDE(6)超级工作站文件不存在 DDE(7)还原点文件不存在 DDE(8)快照文件大小错误 DDE(9)超级工作站文件大小错误 DDE(10)还原点文件大小错误 DDE(11)错误的文件格式 DDE(12)分区备份文件大小错误 DDE(13)分区备份文件页面大小错误 DDE(14)快照文件索引没有找到,转存文件格式错误 DDE(15)错误的磁盘版本 快照版本和磁盘版本不匹配 1)普通工作站启动 这台工作站设定成了开机不删除工作站文件,然后做过超级工作站更新或者做过工作站转存

2)工作站转存 这台工作站启动过以后,做过超级工作站更新或者在其他工作站上做过工作站转存 3)还原 还原点的版本和磁盘版本不对应 /root/.xfetrash目录太大,占满了磁盘空间 xfe 文件管理器有个特性,可以指定删除文件时放到回收站里,也就是/root/.xfetrash目录, 关闭方法: 桌面-> 文件管理器-> Edit 菜单-> Preference -> Option 选项卡 第一项:Use trash can for file delete (safe delete) 把前面的打勾去掉 清空这个目录: 1)cd /root/.xfetrash rm -fr * 2)打开文件管理器,在Location中输入/root/.xfetrash,然后删除这个目录下面所有的文件 系统错误代码:Linux 0 = 成功

MATLAB特征提取代码

for i=1:26 f=strcat('D:\bishe\',num2str(i)); image=strcat(f,'.jpg'); PS=imread(image); PS=imresize(PS,[300,300],'bilinear');%归一化大小 PS=rgb2gray(PS); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置 end %直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5); %将Sk归到相近级的灰度 %图像均衡化 f=PS; for i=0:255 f(find(PS==i))=S2(i+1); %将各个像素归一化后的灰度值赋给这个像素 end figure,imshow(f); %边缘检测 f=edge(f,'canny',0.25); imshow(f); %二值法锐化图像 f=double(f); [x,y]=gradient(f); g=sqrt(x.*x+y.*y); i=find(g>=0.5); g(i)=256; j=find(g<0.5); g(j)=0; imshow(g); title('二值法锐化图像'); %中值滤波 g=medfilt2(g); g=dither(g); imshow(g); %提取面积,矩形度,圆形度,拉伸度特征

黑莓手机错误代码详解 blackberry系统错误提示

黑莓手机错误代码详解 blackberry系统错误提示 希望国内的黑莓用户对黑莓手机出错提示有个很好的认识,从而来解决问题。 101 Previous startup failed 当jvm启动过程中,前一个启动的项目失败了,设备已经被重置。这个错误表明jvm 在启动时找到“启动进行中”这个标志位已经设置了,当前屏幕信息为:有意停止“系统继续重置”这个死循环,来纠正系统当前不正确的启动操作 102 Invalid code in filesystem 在文件系统中发现无效的代码。手持设备的系统检查.cod文件的变动时,在一些.cod 文件中检测到这个问题。他肯可能是表明生成过程中发生了错误,即在cod文件中存在一个有问题的签名。如果一些用户操作设备导致这个问题的发生,文件系统的代码被破坏,复位的周期将是连续循环的。唯一的恢复方法是擦去设备并且恢复一个新的系统。 103 Cannot find starting address 找不到启动的地址,用于启动系统的引导cod文件找不到。这个错误表明一个用于引导系统的cod文件没有安装到设备上,或者格式不正确。 104 Uncaught: 非预期:《java模块名》jvm诊断出一个非预期的java代码异常错误抛出,程序可以继续执行,或者手持设备可以用桌面管理器连是USB线安装一个程序调试器来查看这些错误信息。事件日志里应该包含了异常错误的信息 105 Example, DbRecSize( %d ) -> %d 举例,DbRecSize( %d ) -> %d文件系统API已经为一种特定的操作返回一种错误状态码,他可能表明在jvm上存在一个无效的或者错误的文件系统 106 Graphics system error 图形系统错误,在设备的图形系统里一个错误发生并被检测到 107 operator new() called 在jvm里,操作new()回调一个c++类,该函数代码没有被正确的从VMRamObject对象来继承,新操作符需要被正确的继承。提取当前的(-后复位)的BUGDISP 108 operator delete() called 在jvm里,操作delete

js常用总结

JavaScript的内部对象: (1) Object (2) String (3) Math (4) Date (5) toString JavaScript 代码放在另一个单独的文件里,然后在网页(HTML文件)中使用“SRC= 此单独文件的路径/地址(URL)”来使用此单独文件里的JavaScript 程序代码。一般将这个单独的文件保存为扩展名为.JS 的文件: JS - 常用語句 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是: document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是: window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值: document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大写的JS: document.getElementById("output").value=document.getElementById("input").value.toUpperCa se(); 7.JS中的值类型: String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型: parseInt(),parseFloat() 9.JS中的数字转换成字符型: ("" 变量) 10.JS中的取字符串长度是: (length) 11.JS中的字符与字符相连接使用号. 12.JS中的比较操作符有: == 等于,!=不等于,>,>=,<.<= 13.JS中声明变量使用: var 来进行声明 14.JS中的判断语句结构: if(condition){}else{} 15.JS中的循环结构: for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是: break 17.JS中的函数定义:

图像特征提取matlab程序

%直接帧间差分,计算阈值并进行二值化处理(效果不好) clc; clear; Im1 = double(imread('lena.TIF')); %读取背景图片 Im2 = double(imread('lena.TIF'); %读取当前图片 [X Y Z] = size(Im2); %当前图片的各维度值 DIma = zeros(X,Y); for i = 1:X for j = 1:Y DIma(i,j) =Im1(i,j) - Im2(i,j); %计算过帧间差分值 end end figure,imshow(uint8(DIma)) %显示差分图像 title('DIma') med = median(DIma); %计算二值化阈值:差值图像中值 mad = abs(mean(DIma) - med); %中值绝对差 T = mean(med + 3*1.4826*mad) %初始阈值 Th =5*T; %调整阈值 BW = DIma <= Th; %根据阈值对图像进行二值化处理 figure,imshow(BW) %se = strel('disk',2); %膨胀处理 %BW = imopen(BW,se); %figure,imshow(BW) %title('BW') [XX YY] = find(BW==0); %寻找有效像素点的最大边框 handle = rectangle('Position',[min(YY),min(XX) ,max(YY)-min(YY),max(XX)-min(XX)]); set(handle,'EdgeColor',[0 0 0]); hei = max(XX)-min(XX); %边框高度 mark = min(YY)+1; while mark < max(YY)-1 %从边框左边开始到右边物质循环,寻找各个人体边缘 left = 0;right = 0; for j = mark:max(YY)-1 ynum = 0; for i = min(XX)+1 : max(XX)-1 if BW(i,j) == 0; ynum = ynum + 1;

debug灯常见的错误代码含义如下

常见的错误代码含义如下: 1、“C1”内存读写测试,如果内存没有插上,或者频率太高,会被BIOS认为没有内存条,那么POST就会停留在“C1”处。 2、“0D”表示显卡没有插好或者没有显卡,此时,蜂鸣器也会发出嘟嘟声。 3、“2B”测试磁盘驱动器,软驱或硬盘控制器出现问题,都会显示“2B”。 4、“FF”表示对所有配件的一切检测都通过了。但如果一开机就显示“FF”,这并不表示系统正常,而是主板的BIOS出现了故障。导致的原因可能有:CPU没插好,CPU核心电压没调好、CPU频率过高、主板有问题等。 实战DEBUG灯——Award BIOS篇] DEBUG灯的使用也很简单,下面针对几种常见的故障代码和大家讨论一下解决问题的方法。需说明的是,目前市场上的主板绝大部分使用的是AWARD BIOS或AMI BIOS,由于目前DEBUG 灯实际上是调用了主板BIOS的自检过程,所以主板BIOS程序的不同,DEBUG灯显示的代码也不同,解决问题的方法也不可一概而论。因此我们也将分两个部分讨论。 以下的说明中将选择最常见的故障代码及解决方法,至于其他更详细的代码含义,请读者参考DEBUG灯的说明手册。 1. Award BIOS篇 错误代码:00(FF) 代码含义:主板没有正常自检 解决方法:这种故障较麻烦,原因可能是主板或CPU没有正常工作。一般遇到这种情况,可首先将电脑上除CPU外的所有部件全部取下,并检查主板电压、倍频和外频设置是否正确,然后再对CMOS进行放电处理,再开机检测故障是否排除。如故障依旧,还可将CPU从主板上的插座上取下,仔细清理插座及其周围的灰尘,然后再将CPU安装好,并加以一定的压力,保证CPU与插座接触紧密,再将散热片安装妥当,然后开机测试。如果故障依旧,则建议更换CPU测试。另外,主板BIOS损坏也可造成这种现象,必要时可刷新主板BIOS后再试。

小波矩特征提取代码

小波矩特征提取matlab代码 分类:Image Recognition Matlab 2010-12-10 10:00 122人阅读评论(0) 收藏举报这是我上研究生时写的小波矩特征提取代码: %新归一化方法小波矩特征提取---------------------------------------------------------- F=imread('a1.bmp'); F=im2bw(F); F=imresize(F,[128 128]); %求取最上点 for i=1:128 for j=1:128 if (F(i,j)==1) ytop=i; xtop=j; break; end end if(F(i,j)==1) break; end end %求取最下点 for i=1:128 for j=1:128 if (F(129-i,j)==1) ybottom=129-i; xbottom=j; break; end end if(F(129-i,j)==1) break; end end %求取最左点 for i=1:128 for j=1:128 if (F(j,i)==1) yleft=j; xleft=i;

break; end end if(F(j,i)==1) break; end end %求取最右点 for i=1:128 for j=1:128 if (F(j,129-i)==1) yright=j; xright=129-i; break; end end if(F(j,129-i)==1) break; end end %求取中心点 x0=(xright-xleft)/2+xleft; y0=(ybottom-ytop)/2+ytop; x0=round(x0); y0=round(y0); %图像平移 F=double(F); [M,N]=size(F); F1=zeros(M,N); M0=M/2; N0=N/2; for i=1:M for j=1:N if F(i,j)==1 F1(i+M0-y0,j+N0-x0)=1; end end end %figure,imshow(F1); %图像缩放 max=0; for i=1:128 for j=1:128 if(F(i,j)==1)

Excel VBA常用代码总结1

Excel VBA常用代码总结1 改变背景色 Range("A1"). = xlNone ColorIndex一览 改变文字颜色 Range("A1"). = 1 获取单元格 Cells(1, 2) Range("H7") 获取范围 Range(Cells(2, 3), Cells(4, 5)) Range("a1:c3") '用快捷记号引用单元格 Worksheets("Sheet1").[A1:B5] 选中某sheet Set NewSheet = Sheets("sheet1") 选中或激活某单元格 '“Range”对象的的Select方法可以选择一个或多个单元格,而Activate方法可以指定某一个单元格为活动单元格。 '下面的代码首先选择A1:E10区域,同时激活D4单元格: Range("a1:e10").Select

Range("d4:e5").Activate '而对于下面的代码: Range("a1:e10").Select Range("f11:g15").Activate '由于区域A1:E10和F11:G15没有公共区域,将最终选择F11:G15,并激活F11单元格。 获得文档的路径和文件名 '路径 '名称 '路径+名称 '或将ActiveWorkbook换成thisworkbook 隐藏文档 = False 禁止屏幕更新 = False 禁止显示提示和警告消息 = False 文件夹做成 strPath = "C:\temp\" MkDir strPath 状态栏文字表示 = "计算中" 双击单元格内容变换 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If>= 5And<= 8) Then If= "●"Then = "" Else = "●" End If Cancel = True End If End Sub 文件夹选择框方法1 Set objShell = CreateObject("") Set objFolder = (0, "文件", 0, 0) If Not objFolder Is Nothing Then path= & "\" end if

Windows事件查看器事件代码详解

0 操作成功完成。 1 函数不正确。 2 系统找不到指定的文件。 3 系统找不到指定的路径。 4 系统无法打开文件。 5 拒绝访问。 6 句柄无效。 7 存储控制块被损坏。 8 存储空间不足,无法处理此命令。 9 存储控制块地址无效。 10 环境不正确。 11 试图加载格式不正确的程序。 12 访问码无效。 13 数据无效。 14 存储空间不足,无法完成此操作。 15 系统找不到指定的驱动器。 16 无法删除目录。 17 系统无法将文件移到不同的驱动器。 18 没有更多文件。 19 介质受写入保护。 20 系统找不到指定的设备。 21 设备未就绪。 22 设备不识别此命令。 23 数据错误(循环冗余检查)。 24 程序发出命令,但命令长度不正确。 25 驱动器找不到磁盘上特定区域或磁道。 26 无法访问指定的磁盘或软盘。 27 驱动器找不到请求的扇区。 28 打印机缺纸。 29 系统无法写入指定的设备。 30 系统无法从指定的设备上读取。 31 连到系统上的设备没有发挥作用。 32 另一个程序正在使用此文件,进程无法访问。 33 另一个程序已锁定文件的一部分,进程无法访问。 36 用来共享的打开文件过多。 38 已到文件结尾。 39 磁盘已满。 50 不支持请求。 51 Windows 无法找到网络路径。请确认网络路径正确并且目标计算机不忙或已关闭。如果 Windows 仍然无法找到网络路径,请与网络管理员联系。 52 由于网络上有重名,没有连接。请到“控制面板”中的“系统”更改计算机名,然后重试。 53 找不到网络路径。 54 网络很忙。

55 指定的网络资源或设备不再可用。 56 已达到网络 BIOS 命令限制。 57 网络适配器硬件出错。 58 指定的服务器无法运行请求的操作。 59 出现了意外的网络错误。 60 远程适配器不兼容。 61 打印机队列已满。 62 服务器上没有储存等待打印的文件的空间。 63 已删除等候打印的文件。 64 指定的网络名不再可用。 65 拒绝网络访问。 66 网络资源类型不对。 67 找不到网络名。 68 超出本地计算机网络适配器卡的名称限制。 69 超出了网络 BIOS 会话限制。 70 远程服务器已暂停,或正在启动过程中。 71 已达到计算机的连接数最大值,无法再同此远程计算机连接。 72 已暂停指定的打印机或磁盘设备。 80 文件存在。 82 无法创建目录或文件。 83 INT 24 上的故障。 84 无法取得处理此请求的存储空间。 85 本地设备名已在使用中。 86 指定的网络密码不正确。 87 参数不正确。 88 网络上发生写入错误。 89 系统无法在此时启动另一个进程。 100 无法创建另一个系统信号灯。 101 另一个进程拥有独占的信号灯。 102 已设置信号灯,无法关闭。 103 无法再设置信号灯。 104 无法在中断时请求独占的信号灯。 105 此信号灯的前一个所有权已结束。 107 由于没有插入另一个软盘,程序停止。 108 磁盘在使用中,或被另一个进程锁定。 109 管道已结束。 110 系统无法打开指定的设备或文件。 111 文件名太长。 112 磁盘空间不足。 113 没有更多的内部文件标识符。 114 目标内部文件标识符不正确。 117 应用程序发出的 IOCTL 调用不正确。 118 验证写入的切换参数值不正确。 119 系统不支持请求的命令。

特征提取与匹配案例代码

特征提取与匹配案例代码、 环境:Android studio + opencv for Android MainActivity.java package com.packtpub.masteringopencvandroid.chapter3; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import https://www.sodocs.net/doc/df15835409.html,.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import org.opencv.android.BaseLoaderCallback; import org.opencv.android.LoaderCallbackInterface; import org.opencv.android.OpenCVLoader; import org.opencv.android.Utils; import org.opencv.core.Core; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.MatOfDMatch; import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.features2d.DMatch; import org.opencv.features2d.DescriptorExtractor; import org.opencv.features2d.DescriptorMatcher; import org.opencv.features2d.FeatureDetector; import org.opencv.features2d.Features2d; import org.opencv.highgui.Highgui; import org.opencv.imgproc.Imgproc;

VBAExcel工作表代码总结

工作表 增加工作表 1、添加工作表 Sheets.Add 2、在最后工作表后添加新工作表Sheets.Add after:=Sheets(Sheets.Count) 3、在第1工作表前添加新工作表 Sheets.Add before:=Sheets(1) 4、在第五个工作表之后添加三个Worksheets.Add after:=Worksheets(5), Count:=3 删除工作表 5、删除工作表1 Sheets(“sheet1”).Delete或 Sheets(1).Delete 6、删除当前工作表 ActiveWindow.Selected Sheets.Delete 或ActiveSheet.Delete 7、删除工作表1 Sheets(“sheet1”).Delete或 Sheets(1).Delete 显示隐藏工作表 8、隐藏SHEET1这张工作表sheets("sheet1").Visible=False 9、显示SHEET1这张工作表sheets("sheet1").Visible=True 10、深度隐藏工作表 Sheet1.Visible = 2 11、显示工作表 Sheet1.Visible = -1 工作表名字/命名 12、获取工作表i的名称 ActiveWorkbook.Sheets(i).Name 13、当前工作表命名 https://www.sodocs.net/doc/df15835409.html, = "www" 14、Sheets(Sheet1).Name= “Sum” '将Sheet1命名为Sum 15、返回活动工作表的名称 https://www.sodocs.net/doc/df15835409.html, 16、返回活动窗口的标题 Application.ActiveWindow.Caption 17、返回活动工作簿的名称 https://www.sodocs.net/doc/df15835409.html, 关闭/保存工作表 18、将该表格保存到C:\test.xls 目录 ExcelSheet.SaveAs "C:\TEST.XLS" 19、关闭同时保存 Workbooks("filename.xls").Close savechanges:=True 20、关闭同时不保存 Workbooks("filename.xls").Close savechanges:=False 21、不保存直接关闭当前的工作簿Workbooks("BOOK1.XLS").Close SaveChanges:=False 22、不保存直接关闭EXCEL窗口(关闭所有的工作簿)的VBA语句 Application.DisplayAlerts = False Application.Quit 选择工作表 23、同时选择工作表1和工作表2 Worksheets(Array(“sheet1”,”sheet2”)).Select 24、选定下(上)一个工作表 sheets(activesheet.index-1).select sheets(activesheet.index+1).select 移动工作表 25、ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) '将当前工作表移至工作表的最后 文件(夹)操作 26、建立文件夹的方法 MkDir "D:\Music" 27、打开文件夹的方法ActiveWorkbook.FollowHyperlink Address:="D:\Music",

特征提取总结及代码

特征提取代码总结 颜色提取 颜色直方图提取: C ode: #include #include #include usingnamespace std; int main( int argc, char** argv ) { IplImage * src= cvLoadImage("E:\\Download\\test1.jpg",1); IplImage* hsv = cvCreateImage(cvGetSize(src), 8, 3 ); IplImage* h_plane = cvCreateImage(cvGetSize(src), 8, 1 ); IplImage* s_plane = cvCreateImage(cvGetSize(src), 8, 1 ); IplImage* v_plane = cvCreateImage(cvGetSize(src), 8, 1 ); IplImage* planes[] = { h_plane, s_plane }; /** H 分量划分为16个等级,S分量划分为8个等级*/ int h_bins = 16, s_bins = 8; int hist_size[] = {h_bins, s_bins}; /** H 分量的变化范围*/ float h_ranges[] = { 0, 180 }; /** S 分量的变化范围*/ float s_ranges[] = { 0, 255 }; float* ranges[] = { h_ranges, s_ranges }; /** 输入图像转换到HSV颜色空间*/ cvCvtColor(src, hsv, CV_BGR2HSV ); cvCvtPixToPlane(hsv, h_plane, s_plane, v_plane, 0 ); /** 创建直方图,二维, 每个维度上均分*/ CvHistogram * hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 ); /** 根据H,S两个平面数据统计直方图*/ cvCalcHist( planes, hist, 0, 0 ); /** 获取直方图统计的最大值,用于动态显示直方图*/ float max_value;

常见错误代码及解决方法

常见错误代码及解决方法 在用户申报宽带故障时,拨号错误通常有个数字提示出错。通常,6开头错误一般都是与服务器之间通讯有问题,这个很麻烦也很不好解决,691/619除外这个是账号问题,7开头错误一般都是网卡问题,这个好解决,718/738除外这个是PPPOE服务器故障,尤其是769错误,是网卡禁用。如果出现其他7开头错误。可以查看网卡工作状态以及协议是否齐全

错误代码解决方式 678 工作人员上门 1.个别用户:需询问用户几台电脑如果用户是多台电脑使用路由器连接请用户将主网线连接一台电脑查看错误代码 2.大面积用户:如果小区或者楼道设备箱停电会出现大面积678的现象 691 客服电话解决 1.宽带连接用户名和密码输入错误请用户重新输入用户名和密码或者重新建立宽带连接重新输入 2.此用户账号欠费停机可以在开户系统查询该账号状态 769客服电话解决 本地网卡问题网上邻居右键属性里本地连接是禁用状态才显示769 双击本地连接启用即可如果没有本地连接显示是网卡驱动掉了或者是网卡坏了这是用户电脑问题与宽带公司无关 738 PPPOE服务器不能分配IP地址服务器故障,用户太多超过服务器所能提供的IP地址 815 工作人员上门 Vista系统中显示该错误代码与678操作一致 651 工作人员上门 W7系统中显示该错误代码与678操作一致

619 客服电话解决 宽带连接服务器超时请用户电脑重启或者重新连接宽带如果真有网络问题会显示678 实在连接不上再派工作人员上门 718 问题:验证用户名时远程计算机超时没有响应,断开连接 PPPOE 服务器故障 备注说明 619 734 720 此类错误代码出现时,如果是个别用户,则请用户重新启动电脑重新连接宽带即可。如果是大面积用户反映此代码,一般多为网络问题,需与公司网管及时联系,查看服务器 宽带连接建立方法:XP系统创建拨号连接方法 1网上邻居右键属性///或者--开始菜单—控制面板---左键单击:网络邻居 2.点击页面左上角“创建一个新的连接” 开始菜单-----选择:控制面板

matlab指纹特征提取

图形图像处理课程 大作业 姓名: 班级: 学号:

目录 问题描述 (2) 摘要 (3) 正文 (3) 1、指纹细节特征提取 (4) 2、指纹图像的预处理..................................错误!未定义书签。 3、指纹图像的特征提取..............................错误!未定义书签。 4、指纹特征的去伪 (6) 5、指纹特征提取和识别MATLAB实现 (7) 总结 (9) 附录: (9)

Matlab图形界面操作 ------指纹图像细节特征提取 问题描述 期末运用学习的matlab知识对指纹图像进行细节特征提取,实现如下功能。 ●实现指纹图像的细化。 ●实现指纹图像的特征点提取。 ●实现特征图像的细化去伪。 ●编写代码实现上述功能。

摘要: 本次任务旨在完成对指纹图像的细化、去伪和特征点的提取。采用了8邻域编码纹线跟踪算法,标注出端点和分叉点来进行特征提取。用matlab 软件实现功能。

正文 1、指纹细节特征提取 对于一幅指纹的原始图像,为了使后续特征提取的操作能够正常有效的进行,必须对原始指纹图像进行一定的处理,即对原始图像进行预处理,预处理后对图像进行特征提取,包括端点和分叉点。最后对图像进行指纹特征去伪。2、指纹图像的预处理 指纹图像的预处理一般包括二值化和细化处理过程 (1)二值化 所谓二值化就是将灰度图像转化为灰度值为0、1组成的黑白图像,0为背景灰度,1为纹线点灰度,它是指纹图像处理中重要的一步。由于指纹图像的方向特征、细节点位置等特征的提取以及匹配都跟像素点灰度值的多少没关系,只跟指纹图像的脊线的形状、走向有关系,因此二值化处理不会丢失指纹图像的特征信息,另外二值化还可以方便图像信息的存储,节约存储空间,并且方便了后续的计算处理。常用的二值化方法有:固定阀值法、局部自适应阀值法等。 (2)细化 细化是图象分析、信息压缩、特征提取、模式识别常用的基本技术。它是在不改变图像像素的拓扑关系的条件下,连续擦除图像边缘像素,使纹线最终成为一个像素宽。细化算法的迭代必须收敛且不能破坏纹线的连接性,不能引起纹线的逐步吞食,还要尽可能的保护指纹的细节特征,细化的骨架也要尽可能接近纹线中心线,要求算法简单、高效。常用的细化算法包括逐层剥离法、距离变换法。 代码实现: I=im2bw(origin);%二值化 %细化指纹图像 [M,N]=size(I); for i=2:M-1 for j=2:N-1 if I(i,j)==0

常见错误代码及解决办法

常见错误代码及解决办法 错误 691,客户名密码错,错误提示如图所示: 1)输入的上网帐号(上网客户名)或密码填写错误导致,首先请找出客户的客户名和密码,核对一下,重新再输入一次。依然不行,在电脑右下角找到本地连接的图标-右击,在最下面一排会出现打开网络连接等类似字样(VISTA WIN7也一样,可能文字描述会有一点点不同而 已),打开后的界面里同样会有一个移动宽带连接的图标,双击打开如下图: 按照上图设置完成后,检查帐号是否正确,然后重新输入密码连接。 如果仍然连接不上,且错误代码仍为691,可能是用户宽带欠费(江大移动网基本都是手机帐号,如果手机欠费,宽带也等同于欠费),请续费后再试。也可能是用户密码的确是错误了,这时候 用户可拨打10086进行重置密码,具体操作如下:拨打10086,根据语音提示拨通人工服务,接 通后跟客服人员说“我要重置(即初始化宽带密码)个人有线宽带的密码,帮我转接到宽带专 席(即宽带专家坐席)好么”,转接到宽带专席之后,跟宽带专席的客服人员说“我要重置个 人有线宽带的密码”……重置完了之后,跟客服人员说“再帮我把宽带帐号的端口刷新一下”, 说完就可以跟客服说声谢谢然后再见了。然后重新输入重置之后的密码(一般为123456,偶尔 会有123123),再进行连接。 错误800

1.关掉防火墙,杀毒软件等程序,再进行连接(可以关一个就连接一次,这样可以找出是哪个防火墙的问题) 2.检查本地连接以及IP和DNS设置:在电脑右下角找到本地连接的图标(找不到图标的话,XP系统:开始-控制面板(切换到经典模式)-网络连接;VISTA系统:开始-控制面板-网 络和INTERNET(没有这个选项的跳过这个直接往下看)-网络和共享中心-管理网络连接(在 界面的左侧);WIN7系统:开始-控制面板-网络和INTERNET(没有这个选项的跳过这个直 接往下看)-网络和共享中心-更改适配器设置(在界面的左侧))-右击,在最下面一排会 出现打开网络连接等类似字样(VISTA WIN7也一样,可能文字描述会有一点点不同而已), 在打开的界面里会有本地连接的图标,看本地连接的图标是否正常(正常的显示是:XP系 统会显示已连接上,VISTA和WIN7会显示网络或网络2、网络3……)。 a.正常的话右击本地连接,点击属性,在中间的位置会有一个小窗口,有很多列表,XP 系统找到“Internet选项TCP/IP协议”并双击打开,VISTA和WIN7找到一个含有“Ipv4” 的选项并双击打开,将其中IP和DNS都设置为自动获取。然后点击确定,然后点击此 界面里的移动宽带连接,按照“错误691”的解决方案设置好,然后重新输入密码并 连接。 b.本地连接不正常的话,查看本地连接上的文字提示。 1)本地连接上提示本地连接被停用的话,右击本地连接-启用,即可 2)本地连接上有个红色的叉叉,提示网络电缆被拔出。这说明你的网络线路有问题, 简单点说就是你的网线压根没插好,也有可能是接口坏掉了,可以把网线插拔试试, 红色叉叉消失了,就说明网线插好了。实在不行换跟网线或换个接口。 3)本地连接上有叹号,提示网络连接受限制或无连接。 ①XP系统:右击-修复 ②VISTA和WIN7系统:右击-诊断等待获取完网络地址。 没有叹号了的话,尝试进行连接 叹号仍然存在的话:右击本地连接-停用(禁用),然后再右击本地连接-启用, 等待获取完网络地址。没有叹号了的话,尝试进行连接 叹号仍然存在的话:右击本地连接-属性,中间有个小窗口有很多选项,取消所有 选项的前面的勾,点击确定。然后,右击本地连接-属性,中间有个小窗口有很多 选项,勾选所有选项的前面的勾,点击确定。等待获取完网络地址。 没有叹号了的话,尝试进行连接 叹号仍然存在的话,重复以上步骤,如果一直都有叹号,并且无法连接上移动宽 带,说明计算机本身驱动有存在问题,或网卡问题(此处驱动原因的可能性远远 大于网卡原因的可能性) 3.卸载已经安装的宽带连接软件,并重新安装,安装完成后要重新启动(必须),然后进行网络连接。 错误868(和错误800有些类似) 找到本地连接,点击开始,打开控制面板,XP系统:开始-控制面板(切换到经典模式)-网络连接;VISTA 系统:开始-控制面板-网络和INTERNET(没有这个选项的跳过这个直接往下看)-网络和共享中心-管理网络连接(在界面的左侧);WIN7系统:开始-控制面板-网络和INTERNET(没有这个选项的跳过这个直接往下看)-网络和共享中心-更改适配器设置(在界面的左侧)。

相关主题