VB打開EXCEL的方法剖析_第1頁
VB打開EXCEL的方法剖析_第2頁
VB打開EXCEL的方法剖析_第3頁
VB打開EXCEL的方法剖析_第4頁
VB打開EXCEL的方法剖析_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

VB打開EXCEL的方法解析VB打開EXCEL的方法解析52/52羈PAGE52蒃蝿螞薅肂莈螇薀薃蠆肅薂薀薆蒆腿薃蕿蒄螃節(jié)膈蕿螈蚃蒀蟻肄蝿蒆芇莇螃蒀肁芅蒁螄肆芀膇莀蒂節(jié)衿芆腿袀芇芀袃蒄薁薅袈葿芆膀芄蚅聿肇蚇羈莆肀莁螞螁蒞蒆薇蒆羀螂袃艿羇葿蒀薆袀膃膄羈膅羋聿蚆袁薄蒞莈螇羆蚈螆螁螀節(jié)膀肅螅芇袆蟻膁薃薈薇螈袇袆薁薂螅芀袆薇螀羅蒁羃芀螈羆莆袇肅罿莄蒁蒀芄荿蒆膅衿蒁螂膂螆膈肅芅螀袂羃蝕肄袇羈蒞蝕芃羀莁莂蚅薇蒅薀蚃膁蝿襖蚈膇蒅蒀螀莃薁膃蕆螆薅莀膁莀罿蚅芆蒞蚄莀薂薁蟻羃艿膈螄芀羃袂腿薅肈螇襖膀莄肅袁袃袇莆羄肁薁肀荿蒞薆羅肄羈羂芁肀蚃蠆袈肄袁莂蒃蒈膅莇蒈膄袁螃蚄膀蒄膆肇芄螁膄蟻蚈肆腿蚆莃莇芁袂莀芄羈芅蒃芇螞膃肂袆螇肈薃膇肅肀薀膄蒆蚇薃膈蒄莁節(jié)蚆蕿芆蚃肈蟻薂蝿羄芇裊螃羈肁螄蒁節(jié)肆蝿膇袈蒂螁衿螅腿莈芇螈袃羂薁肅袈羇芆蚈芄芃聿蚅蚇薆莆薈莁膀螁袃蒆膅蒆薈螂蒁艿蒅葿羈薆葿膃螞羈螃羋薇蚆荿薄袃莈芅羆膆螆艿螀袀膀薃螅螆袆腿膁肂薈肆螈蒞袆聿薂芃芀莄薇羋羅罿羃芀螈羆莆袇肅罿莄蒁蒀芄荿蒆膅衿蒁螂膂螆膈肅芅螀袂羃蝕肄袇羈蒞蝕芃羀莁莂蚅薇蒅薀蚃膁蝿襖蚈膇蒅蒀螀莃薁膃蕆螆薅莀膁莀罿蚅芆蒞蚄莀薂薁蟻羃艿膈螄芀羃袂腿薅肈螇襖膀莄肅袁袃袇莆羄肁薁肀荿蒞薆羅肄羈羂芁肀蚃蠆袈肄袁莂蒃蒈膅莇蒈膄袁螃蚄膀蒄膆肇芄螁膄蟻蚈肆腿蚆莃莇芁袂莀芄羈芅蒃芇螞膃肂袆螇肈薃膇肅肀薀膄蒆蚇薃膈蒄莁節(jié)蚆蕿芆蚃肈蟻薂蝿羄芇裊螃羈肁螄蒁節(jié)肆蝿膇袈蒂螁衿螅腿莈芇螈袃羂薁肅袈羇芆蚈芄芃聿蚅蚇薆莆薈莁膀螁袃蒆膅蒆薈螂蒁艿蒅葿羈薆葿膃螞羈螃羋薇蚆荿薄袃莈芅羆膆螆艿螀袀膀薃螅螆袆腿膁肂薈肆螈蒞袆聿薂芃芀莄薇羋羅罿羃芀螈羆莆袇肅罿莄蒁蒀芄荿蒆膅衿蒁螂膂螆膈肅芅螀袂羃蝕肄袇羈蒞蝕芃羀莁莂蚅薇蒅薀蚃膁蝿襖蚈膇蒅蒀螀莃薁膃蕆螆薅莀膁莀罿蚅芆蒞蚄莀薂薁蟻羃艿膈螄芀羃袂腿薅肈螇襖膀莄肅袁袃袇莆羄肁薁肀荿蒞薆羅肄羈羂芁肀蚃芃袈蚈袁羇蒃肅膅羂蒈螈袁莈蚄螅蒄螁肇袈螁蝿蟻節(jié)肆螄蚆羈莇裊袂羄芄薂芅肈芇芆膃蚆袆莁肈膈膇蚇肀膄VB打開EXCEL的方法解析

VB打開EXCEL的方法

一樓的沒有指明

SetxlBook=App.Workbooks.Open("文件名")

這種語法同樣要求excel已經(jīng)存在才能操作。

SetxlApp=CreateObject("Excel.Application")

xlSheet.Cells(1,1)="測試"'寫入內(nèi)容

xlBook.SaveAs("FILENAME")'保存文件

SetxlApp=Nothing

本方法采用add增加excel文件和datasheet,爾后用save保存。若是用xlAp

p.Visible=False,則自動生成文件。但是若是文件已經(jīng)存在,則會彈出可否覆蓋的提示。因此,最好先在程序中檢查文件可否已經(jīng)存在,若是存在,則用一般方法打開。若是不存在,則用add增加,并保存。

★打開相對路徑下的文件

PrivateSubCommand1_Click()

ShellApp.Path&"\aaa.bat"

EndSub

還有更簡單的:

PrivateSubCommand1_Click()

Shell"aaa.bat"

EndSub

aaa.bat就是那個BAT的名字.

那就不用然

由于SHELL只對可執(zhí)行文件有效.你可用WINDOWS外殼程序explorer.exe打開任何文件(包括文件夾)

代碼:

PrivateSubCommand1_Click()

aaa.jpg"

EndSub

★VB調(diào)用EXCEL自帶的盤問功能在表格中查找內(nèi)容PrivateSubComCx_Click()

OnErrorGoTo50

i=xlBook.Worksheets("代碼").Range("A:A").Find(Trim(TexDm.Text)).Row

★將程序中全部這一類的對象的某一屬性全部更正為需要的屬性DimItemAsObject'定義對象ForEachItemInMeIfTypeOfItemIsTextBoxThenItem.Text=""

'將全部

TextBox

的Text

性值變?yōu)榭?/p>

=-1

'將全部的

Combo

Box的ListIndex屬性值變?yōu)椤?1”

Next

IfNoti=0Then

Dm=Trim(TexDm.Text)

Sm=Trim(xlBook.Worksheets("代碼").Cells(i,"B").Value)

Dw=Trim(xlBook.Worksheets("代碼").Cells(i,"D").Value)

TexSm.Text=Sm&""&"("&Dw&")"

ComQd.Visible=True

GoTo100

EndIf

50

TexSm.Text="沒有找到相般配的信息!"

100

EndSub

★如何使編的程序可以調(diào)用excel

第一要引用

再定義對象及其種類

SetxlApp=CreateObject("Excel.Application")'創(chuàng)辦EXCEL

SetxlBook=檢包組合金廠代碼盤問

對象

合金JD

代碼.xls")xlApp.Visible=False

SetxlSheet=xlBook.Worksheets("確認信息")

★另存為ChDir"D:\"

ormat:=xlExcel8,_

Password:="",WriteResPassword:="",

合金廠產(chǎn)質(zhì)量檢明細表.xls",FileF

ReadOnlyRecommended:=False,

_

CreateBackup:=FalseVB是常用的應用軟件開發(fā)工具之一,由于VB的報表功能有限,而且一但報表格式發(fā)生變化,就得相應更正程序,給應用軟件的保護工作

帶來極大的不便。因此有很多程序員現(xiàn)在已經(jīng)充分利用EXECL的富強報表功來實現(xiàn)報表功能。但由于VB與EXCEL由于分別屬于不同樣的應用系統(tǒng),如何把它們有機地結(jié)合在一起,是一個值得我們研究的課題。

一、VB讀寫EXCEL表:

VB自己提自動化功能可以讀寫EXCEL表,其方法以下:

1、在工程中引用MicrosoftExcel種類庫:

從"工程"菜單中選擇"引用"欄;選擇MicrosoftExcel9.0ObjectLibrary(EXCEL2000),爾后選擇"確定"。表示在工程中要引用

EXCEL種類庫。

2、在通用對象的聲明過程中定義EXCEL對象:

3、在程序中操作EXCEL表常用命令:

SetxlApp=CreateObject("Excel.Application")'創(chuàng)辦EXCEL對象

SetxlBook=xlApp.Workbooks.Open("文件名")'打開已經(jīng)存在的EXCEL工件簿文件

xlApp.Visible=True'設(shè)置EXCEL對象可見(或不可以見)

SetxlSheet=xlBook.Worksheets("表名")'設(shè)置活動工作表xlSheet.Cells(row,col)=值'給單元格(row,col)賦值xlSheet.PrintOut'打印工作表

xlBook.Close(True)'關(guān)閉工作簿

xlApp.Quit'結(jié)束EXCEL對象

SetxlApp=Nothing'釋放xlApp對象xlBook.RunAutoMacros(xlAutoOpen)'運行EXCEL啟動宏xlBook.RunAutoMacros(xlAutoClose)'運行EXCEL關(guān)閉宏

4、在運用以上VB命令操作EXCEL表時,除非設(shè)置EXCEL對象不可以見,否則VB程序可連續(xù)執(zhí)行其余操作,也可以關(guān)閉EXCEL,同時也可對

EXCEL進行操作。但在EXCEL操作過程中關(guān)閉EXCEL對象時,VB程序無法知道,若是此時使用EXCEL對象,則VB程序會產(chǎn)生自動化錯誤。形成VB程序無法完好控制EXCEL的狀況,使得VB與EXCEL脫節(jié)。

二、EXCEL的宏功能:

EXCEL供應一個VisualBasic編寫器,打開VisualBasic編寫器,其中有一工程屬性窗口,點擊右鍵菜單的"插入模塊",則增加一個

"模塊1",在此模塊中可以運用VisualBasic語言編寫函數(shù)和過程并稱之為宏。其中,EXCEL有兩個自動宏:一個是啟動宏(SubAuto_Open())

,另一個是關(guān)閉宏(SubAuto_Close())。它們的特點是:當用EXCEL打含有啟動宏的工簿時,就會自動運行啟動宏,同理,當關(guān)閉含有關(guān)閉宏的工作簿時就會自動運行關(guān)閉宏。但是經(jīng)過VB的自動化功能來調(diào)用工作表時,啟動宏和關(guān)閉宏不會自動運行,而需要在VB中經(jīng)過命令

EXCEL

xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)來運行啟動宏和關(guān)閉宏。

三、VB與EXCEL的相互勾通:

充分利用EXCEL的啟動宏和關(guān)閉宏,可以實現(xiàn)VB與EXCEL的相互勾通,其方法以下:

在EXCEL的啟動宏中加入一段程序,其功能是在磁盤中寫入一個標志文件,同時在關(guān)閉宏中加入一段刪除此標志文件的程序。VB程序在

執(zhí)行時經(jīng)過判斷此標志文件存在與否來判斷EXCEL可否打開,若是此標志文件存在,表示EXCEL對象正在運行,應該禁止其余程序的運行。

若是此標志文件不存在,表示EXCEL對象已被用戶關(guān)閉,此時若是要使用EXCEL對象運行,必定重新創(chuàng)辦EXCEL對象。

四、舉例:

1、在VB中,建立一個FORM,在其上放置兩個命令按鈕,將Command1的Caption屬性改為EXCEL,Command2的Caption屬性改為End。爾后在其中輸入以下程序:

DimxlAppAsExcel.Application'定義EXCEL類

'定義工件簿類

'定義工作表類

PrivateSubCommand1_Click()'打開EXCEL過程

IfDir("D:\temp\excel.bz")=""Then'判斷EXCEL可否打開

SetxlApp=CreateObject("Excel.Application")'創(chuàng)辦EXCEL

xlApp.Visible=True'設(shè)置EXCEL可見

SetxlBook=xlApp.Workbooks.Open("D:\temp\bb.xls")'打開

應用類EXCEL

作簿Setxlsheet=xlBook.Worksheets(1)

xlsheet.Activate'激活工作表

xlsheet.Cells(1,1)="abc"'給單元格

xlBook.RunAutoMacros(xlAutoOpen)

Else

MsgBox("EXCEL已打開")

EndIf

EndSub

'打開EXCEL

1行駛列賦值

'運行EXCEL

工作表

中的啟動宏

PrivateSubCommand2_Click()

IfDir("D:\temp\excel.bz")<>""Then'由VB關(guān)閉EXCEL

xlBook.RunAutoMacros(xlAutoClose)'執(zhí)行EXCEL關(guān)閉宏

xlBook.Close(True)'關(guān)閉EXCEL工作簿

xlApp.Quit'關(guān)閉EXCEL

EndIf

SetxlApp=Nothing'釋放EXCEL對象

End

EndSub

2、在D盤根目錄上建立一個名為Temp的子目錄,在Temp目錄下建立一個名為"bb.xls"的EXCEL文件。

3、在"bb.xls"中打開VisualBasic編寫器,在工程窗口中點鼠標鍵選擇插入模塊,在模塊中輸入入下程序存盤:

Subauto_open()

Open"d:\temp\excel.bz"ForOutputAs#1'寫標志文件Close#1

EndSub

Subauto_close()

Kill"d:\temp\excel.bz"'刪除標志文件

EndSub

4、運行VB程序,點擊EXCEL按鈕可以打開EXCEL系統(tǒng),打開EXCEL系統(tǒng)后,VB程序和EXCEL分別屬兩個不同樣的應用系統(tǒng),均可同時進行操作,由于系統(tǒng)加了判斷,因此在VB程序中重復點擊EXCEL按鈕時會提示EXCEL已打開。若是在EXCEL中關(guān)閉EXCEL后再點EXCEL按鈕,則會重新打開EXCEL。而無論EXCEL打開與否,經(jīng)過VB程序均可關(guān)閉EXCEL。這樣就實現(xiàn)了VB與EXCEL的無縫連接。

★JDE代碼盤問程序源代碼

DimDmAsString

DimSmAsString

DimDwAsString

DimiAsInteger

DimSouSAsObject

PrivateSubComCx_Click()

'i=2

'DoWhilei<=10000

'Dm=Trim(xlBook.Worksheets("代碼").Cells(i,"A").Value)

'IfDm=Trim(TexDm.Text)Then

'Sm=Trim(xlBook.Worksheets("代碼").Cells(i,"B").Value)'Dw=Trim(xlBook.Worksheets("代碼").Cells(i,"D").Value)'TexSm.Text=Sm&""&"("&Dw&")"

'GoTo100

'EndIf

'i=i+1

'Loop

'TexSm.Text="沒有找到相般配的信息!"

OnErrorGoTo50

i=xlBook.Worksheets("代碼").Range("A:A").Find(Trim(TexDm.Text)).Row

IfNoti=0Then

Dm=Trim(TexDm.Text)

Sm=Trim(xlBook.Worksheets("代碼").Cells(i,"B").Value)Dw=Trim(xlBook.Worksheets("代碼").Cells(i,"D").Value)TexSm.Text=Sm&""&"("&Dw&")"

ComQd.Visible=True

GoTo100

EndIf

50

TexSm.Text="沒有找到相般配的信息!"

100

EndSub

PrivateSubComQc_Click()

TexDm.Text="請在此輸入10位數(shù)的代碼"

TexSm.Text=""

Dm=""

Sm=""

Dw=""

ComQd.Visible=False

EndSub

PrivateSubComQd_Click()

xlSheet.Cells(2,"A").Value=Dm

xlSheet.Cells(2,"B").Value=Sm

xlSheet.Cells(2,"C").Value=Dw

EndSub

PrivateSubComTc_Click()

(False)

SetxlApp=Nothing

SetxlBook=Nothing

SetxlSheet=Nothing

End

EndSubPrivateSubForm_Load()

SetxlApp=CreateObject("Excel.Application")

xlApp.Visible=False

SetxlSheet=xlBook.Worksheets("確認信息")

&

'創(chuàng)辦EXCEL

合金JDE

對象

代碼.xls")

EndSub

PrivateSubTexDm_DblClick()

TexDm.Text=""

EndSub

selectcasecase...endselect用法:

Case"缺邊掉角"xlsheet.Cells(i,"P").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"Q").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"R").Value=Trim(TexFgQk1.Text)Case"變形"xlsheet.Cells(i,"S").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"T").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"U").Value=Trim(TexFgQk1.Text)Case"表面鼓泡"xlsheet.Cells(i,"V").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"W").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"X").Value=Trim(TexFgQk1.Text)Case"尺寸超差"xlsheet.Cells(i,"Y").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"Z").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"AA").Value=Trim(TexFgQk1.Text)endselect

★增加子程序的時候,要在括號里面聲明要從主程序引用的變量和對象

PublicSubFangGuo(ByValiAsInteger,ByValxlappAsExcel.Application,ByValxlbookAsExcel.Workbook,ByValxlsheetAsExcel.Worksheet)

'——————————向下為放過地域——————————————————————

Debug.Printi'即顯信息'————放過1——————SelectCaseCase"缺邊掉角"xlsheet.Cells(i,"P").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"Q").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"R").Value=Trim(TexFgQk1.Text)Case"變形"xlsheet.Cells(i,"S").Value=Trim(TexFg1P.Text)xlsheet.Cells(i,"T").Value=Trim(TexFg1Kg.Text)xlsheet.Cells(i,"U").Value=Trim(TexFgQk1.Text)endselect

EndSub

★點擊窗口右上角的關(guān)閉是“unload”或“QueryUnload”事件

★子程序改變來自主程序的變量的值:

PrivateSubCom1_Click()

dimCfZasinteger

QrCfCfZ

IfCfZ=1Then

MsgBox("放過原因或報廢原因有重復!"&vbCrLf&"請查察紅色表記

")

EndIf

endsub

PublicSubQrCf(CfAsInteger)

IfComFgYy1.Text<>""Then

ComFgYy1.BackColor=&HFF&

ComFgYy2.BackColor=&HFF&

Cf=1

EndIf

endselect

endsub

運行收效:若是case中Cf=1執(zhí)行,則CfZ的值變?yōu)?,并彈出信息框

★如何判斷字符串為可否為數(shù)字判斷表達式的運算結(jié)果可否為數(shù)字,返回

Boolean

值(TrueorFalse)。

描述

返回Boolean值指明表達式的值可否為數(shù)字。

語法

IsNumeric(expression)

expression參數(shù)可以是任意表達式。

說明

若是整個expression被鑒別為數(shù)字,IsNumeric函數(shù)返回True;否則函數(shù)返

回False。若是expression是日期表達式

IsNumeric函數(shù)返回False。下面的示例利用IsNumeric函數(shù)決定變量可否可以作為數(shù)值:

DimMyVar,MyCheckMyVar=53'賦值。MyCheck=IsNumeric(MyVar)'返回True。MyVar="459.95"'賦值。MyCheck=IsNumeric(MyVar)'返回True。MyVar="45Help"'賦值。MyCheck=IsNumeric(MyVar)'返回False。

★在frmlogin中設(shè)置用戶及密碼檢查功能

DimLogInAsBoolean

Case"測試"

IftxtPassword.Text=""Then

txtUserName.Text="測試"

LogIn=True

Else

LogIn=False

EndIf

Case"魏敏"

IftxtPassword.Text="wm"Then

txtUserName.Text="魏敏"

LogIn=True

Else

LogIn=False

EndIfCase"黃選華"

IftxtPassword.Text="hxh"Then

txtUserName.Text="黃選華"

LogIn=True

Else

LogIn=False

EndIf

Case"胡麗萍"

IftxtPassword.Text="hlp"Then

txtUserName.Text="胡麗萍"

LogIn=True

Else

LogIn=False

EndIf

Case"張嵐"

IftxtPassword.Text="zl"Then

txtUserName.Text="張嵐"

LogIn=True

Else

LogIn=False

EndIf

Case"馮現(xiàn)萍"

IftxtPassword.Text="fxp"Then

txtUserName.Text="馮現(xiàn)萍"

LogIn=True

Else

LogIn=False

EndIf

Case"陶學群"

IftxtPassword.Text="txq"Then

txtUserName.Text="陶學群"

LogIn=True

Else

LogIn=False

EndIf

Case"陶明媚"

IftxtPassword.Text="tmy"Then

txtUserName.Text="陶明媚"

LogIn=True

Else

LogIn=False

EndIf

EndSelect

★將一個文件復制到別的一個目錄,并改變名字

DimxlFile,xlFileCopyAsString

xlFile=App.Path&合金廠產(chǎn)質(zhì)量檢明細表.xls"

xlFileCopy="C:\xlTemp\"&"Copy"&Format(Now,

H_MM_SS")&".xc"

FileCopyxlFile,xlFileCopy

"YYYY_MM_DD_H

★用format()函數(shù)自定義日期/時間格式

VB讀取一個文件的創(chuàng)辦日期:我看網(wǎng)上找到一個,用fso的

DimfileAsVariant

DimfsoAsVariantSet

fso

=CreateObject("Scripting.FileSystemObject")

Set

file

=fso.GetFile(.filename)

MsgBox

vbLf

&"創(chuàng)辦時間:

"

&

&_

vbLf

vbLf

&"更正時間:

&"接見時間:

"

"

&

&

&_

別的還有一個問題,就是獲取文件版本,可以使用Declare

Alias

FunctionGetFileVersionInfoLib"GetFileVersionInfoA"(ByVal

"version.dll"lptstrFilename

_

As

String,

_aAs

ByValAny)

dwHandleAsLong

As

Long,

ByVal

dwLen

As

Long,

lpDat

但是我對其中的一些參數(shù)意思不太理解。

lptstrfilename自然是文件的名字,應該是包括全路徑的;后邊三個參數(shù)是什么意思我就不太懂了,特其余,最后一個種類是any,這是什么東東?

★刪除指定地址的一般文件

PrivateDeclareFunctionFindFirstFileLib"kernel32"Alias"FindFirstFileA"(ByVallpFileNameAsString,lpFindFileDataAsWIN32_FIND_DATA)AsLong

PrivateDeclareFunctionFindNextFileLib"kernel32"Alias"FindNextFileA"(ByValhFindFileAsLong,lpFindFileDataAsWIN32_FIND_DATA)AsLongPrivateDeclareFunctionFindCloseLib"kernel32"(ByValhFindFileAsLong)AsLongPrivateDeclareFunctionFileTimeToSystemTimeLib"kernel32"(lpFileTimeAsFILETIME,lpSystemTimeAsSYSTEMTIME)AsLongPrivateConstFILE_ATTRIBUTE_DIRECTORY=&H10PrivateTypeSYSTEMTIMEwYearAsIntegerwMonthAsIntegerwDayOfWeekAsIntegerwDayAsIntegerwHourAsIntegerwMinuteAsIntegerwSecondAsIntegerwMillisecondsAsIntegerEndTypePrivateTypeFILETIMEdwLowDateTimeAsLongdwHighDateTimeAsLongEndTypePrivateConstMAX_PATH=260PrivateTypeWIN32_FIND_DATAdwFileAttributesAsLongftCreationTimeAsFILETIMEftLastAccessTimeAsFILETIMEftLastWriteTimeAsFILETIMEnFileSizeHighAsLongnFileSizeLowAsLongdwReserved0AsLongdwReserved1AsLongcFileNameAsString*MAX_PATHcAlternateAsString*14EndTypeDimFdataAsWIN32_FIND_DATAPrivateSubDelFiles(ByValsPathAsString,ByValxDAsString)OnErrorResumeNextDimR1AsLong,R2AsLong,TmpTimeAsStringDimSYSTMAsSYSTEMTIMER1=FindFirstFile(sPath&"*",Fdata)AndFILE_ATTRIBUTE_DIRECTORY)=FalseThenFileTimeToSystemTimeFdata.ftCreationTime,SYSTMTmpTime=CStr(SYSTM.wYear)&"-"&CStr(SYSTM.wMonth)&"-"&CStr(SYSTM.wDay)&""&CStr(SYSTM.wHour)nute)&":"&CStr(SYSTM.wSecond)IfCDate(TmpTime)<CDate(xD)ThenKillsPath&StrF(Fdata.cFileName)EndIfDoR2=FindNextFile(R1,Fdata)IfR2=0ThenExitDoIf(Fdata.dwFileAttributesAndFILE_ATTRIBUTE_DIRECTORY)=FalseThenFileTimeToSystemTimeFdata.ftCreationTime,SYSTMTmpTime=CStr(SYSTM.wYear)&"-"&CStr(SYSTM.wMonth)&"-"&CStr(SYSTM.wDay)&""&CStr(SYSTM.wHour)nute)&":"&CStr(SYSTM.wSecond)IfCDate(TmpTime)<CDate(xD)ThenKillsPath&StrF(Fdata.cFileName)EndIfDoEventsLoopEndSub

PrivateFunctionStrF(ByValSAsString)AsStringStrF=Left(S,InStr(S,Chr(0))-1)EndFunction

用法:(刪除“c:”這里全部的10天前的文件)

PrivateSubCommand1_Click()

DimNowDateAsString

NowDate=Str(Date-10)

DelFiles"c:\xltemp\",NowDate

EndSub

(若需要刪除指定擴展名的文件,將R1=FindFirstFile(sPath&"*",Fdata)這一行里面的“*”改成“擴*.展名”)

(別的有一點,在這個程序里面,文件的創(chuàng)辦時間是精確到秒的,你的時間只用了date-10,只有日期沒時間,

比方2010-3-10號,

只能刪除10號從前的。10號當天的刪除不了。)

VB日期選擇邊框

網(wǎng)上有很多做日期選擇框的方法或控件,搞得特別復雜。

其實VB6自帶有日期選擇框的:

菜單:工具,部件

把mcrosoftwindowscommoncontrols-26.0(sp6)

獲取的DTPicker就是DateTimePicker

一般就用DTPicker控件

這就是你想要的東西了

★VB自帶的刪除文件功能

Killfilename

★建立連接用ADO對象很方便

dimcnasnewconnection

dimrsasnewrecordset

cn.open"數(shù)據(jù)庫連接串"

setrs=cn.execute("select*fromtab1")

rs.fields("字段名")

("數(shù)據(jù)庫連接串"這段內(nèi)容,可以用一個udl文件生成,用記事本創(chuàng)辦一個沒有內(nèi)容的擴展名為udl文件,雙擊打開,按上邊的提示配置好,再用記事本打開,就可以找到需要的那段字符串了。)

PrivateSubCommand1_Click()

cn.ConnectionString="Provider=MSDASQL.1;Password=;PersistSecurit

yInfo=True;UserID=kio;DataSource=SQLDb;InitialCatalog=DataTest"

rs.Open"[dbo].[ZJMX]",cn,1,3

EndSub

★將用戶名和密碼存于數(shù)據(jù)庫中的數(shù)據(jù)表

“用戶設(shè)置”中,下面是密碼考據(jù)過程:

Cn.ConnectionString="Provider=SQLOLEDB.1;Password=;PersistSec

6.13.16\SQLEXPRESS"

DimSqlStrAsString

SqlStr="select*from[dbo].[用戶設(shè)置]where[UN]='"&txtUserName.

Text&"'And[PW]='"&txtPassword.Text&"'"

SetRs=Cn.Execute(SqlStr)

OK=True

Else

MsgBox"密碼錯誤,再試一次!",,"登錄"

txtPassword.SelStart=0

txtPassword.SelLength=Len(txtPassword.Text)

EndIf★SQL盤問并取值的問題

Cn.ConnectionString="Provider=SQLOLEDB.1;Password=;PersistS

ecurityInfo=True;UserID=carbide;InitialCatalog=Carbide;DataSource=172.

16.13.16\SQLEXPRESS"

DimSqlStrAsString

SqlStr="select*from[dbo].[用戶設(shè)置]where[UN]='"&txtUserName.

Text&"'And[PW]='"&txtPassword.Text&"'"

SetRs=Cn.Execute(SqlStr)

Dlr=Rs("姓名").Value

endif

★如何判斷字段值為空

IfIsNull(Rs(FgP))=TrueAndIsNull(Rs(FgKg))=TrueThen

y=y+1GoTo

11

ElseComFgYy(x).TextTexFgP(x).TextTexFgKg(x).TextTexFgQk(x).Text

=Yy(y)

=Rs(FgP).Value

=Rs(FgKg).Value

=Rs(FgQk).Value

y=y+1

EndIf

★更正已有記錄

DimSqlStrAsString

SqlStr="select*from[dbo].[產(chǎn)質(zhì)量檢明細]where[記錄號]="&LshCxRs.OpenSqlStr,Cn,1,3

Rs("記錄號")=LshCx

Rs("錄入時間")=Now

★刪除已有記錄

DimSqlStrAsString

SqlStr="deletefrom[dbo].[產(chǎn)質(zhì)量檢明細]where[記錄號]="&LshCxRs.OpenSqlStr,Cn,1,3

★SQL復制記錄

INSERTINTO`table`SELECT*FROM`table`WHEREid=1;

沒有主鍵時候才可以。。有主鍵時候就要寫上列:

INSERTINTO`table`(`a`,`b`,`c`)SELECT`a`,`b`,`c`FROM`table`WHEREid=1;mysql函數(shù)補充:若是要插入數(shù)據(jù)的表比前表字段但是也要插入數(shù)據(jù),可以用產(chǎn)生欄目填充,比方:ABS(1),TRIM('abc')UPDATE`table`SETa=!aWHEREid=1;//布爾值取反UPDATE`table1`,`table2`SET`table1`.id=`table2`.idWHERE`table1`.id=`table2`.id;//更新★SQL語句查找空值select*from表格where字段名isnull★將SQL查找結(jié)果導出到EXCELDimmAsInteger,nAsIntegerDimRanAsStringSetxlApp=CreateObject("Excel.Application")'創(chuàng)辦EXCEL應用類SetxlBook=質(zhì)檢明細100520.xls")'打開EXCEL工作簿=True'設(shè)置EXCEL不可以見SetxlSheet="產(chǎn)質(zhì)量日報表"&Format(Now,"YYYY_MM_DD_HH_MM_SS")'打開EXCEL工作表m=2DoWhileNotForn=0ToRan=x&":"&xxlSheet.Cells(1,n+1)=Rs.Fields(n).NamexlSheet.Cells(m,n+1)=Rs(n).ValueNextm=m+1LoopSetxlSheet=NothingSetxlBook=NothingSetxlApp=NothingVB中DataGrid的使用方法

SqlStr="select*fromdbo.代碼where[JDE代碼]='"&Trim(Text1(0).Text)&"'"

Cn.CursorLocation=adUseClient'要點語句,有了這句控件才能顯示數(shù)據(jù)集的內(nèi)容

'Rs.OpenSqlStr,Cn

SetRs=Cn.Execute(SqlStr)DataGrid1_RowColCha

Text1(1).Text=Rs("牌號")Text1(2).Text=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論