您的位置:首页 > 编程语言 > VB

VB.NET的一些应用

2012-11-03 15:49 323 查看
1. Windows API 的应用

● 声明动态链接库中的程序引用

Public Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" _
(ByVal lpAppName As String,
ByVal lpReturnedString As String,
ByVal nSize As Integer,
ByVal lpFileName As String) As Integer
' 指向包含 Section 名称的字符串地址
' 返回数据的缓冲区地址
' 返回数据的缓冲区长度
' ini 文件的文件名
' 返回实际读取到的长度


● 调用API方法

Dim sPath As String = Application.StartupPath & "/" & USER_FILE_NAME
Dim i As Integer
Dim sRetUserFile As String = Nothing

sRetUserFile = Space(READ_LENTH)
i = GetPrivateProfileSection("SAB0806M01",
sRetUserFile,
sRetUserFile.Length,
sPath)

If i > 0 Then
…
End If


2. 用正则表达式分割字符串

Dim lstFuncs() As String
Dim mclMatches As MatchCollection
Dim IElements As IEnumerator
Dim j As Integer
Dim lstItems As List(Of String)

lstFuncs = Regex.Split(sReturnedString.Trim(), "\D{3}\d{4}\D{1}\d{2}=")
mclMatches = Regex.Matches(sReturnedString.Trim(), "\D{3}\d{4}\D{1}\d{2}=")

IElements = mclMatches.GetEnumerator
j = 1
lstItems = New List(Of String)

While IElements.MoveNext()
lstItems.Add(IElements.Current.ToString() & lstFuncs(j))
j += 1
End While


3. 获取环境变量

Dim systemPath As String
systemPath = Environment.GetEnvironmentVariable("USERPROFILE") & "/AppData/Local/Esa/"


4. 运行Excel中的宏(生成报表)

Imports Excel = Microsoft.Office.Interop.Excel

''' <summary>
''' 运行Excel中的宏(生成报表)
''' </summary>
''' <param name="sFilePath">Excel文件位置</param>
''' <param name="sCsvPath">Csv文件位置</param>
''' <param name="sSavePath">生成的报表保存位置</param>
Private Sub RunExcelVba(
ByVal sFilePath As String,
ByVal sCsvPath As String,
ByVal sSavePath As String
)

Dim oExcel As Excel.Application = New Excel.Application

' 不打开Excel窗口,后台运行
oExcel.Visible = False

Dim oBooks As Excel.Workbooks = oExcel.Workbooks

' 打开Excel
Dim oBook As Excel.Workbook = oBooks.Open(sFilePath)

oExcel.Run("createReport", sCsvPath)

' 文件保存
oExcel.ActiveWorkbook.SaveAs(sSavePath,
FileFormat:=Excel.XlFileFormat.xlExcel8)

' 操作完成后
oBook.Close(False)
Runtime.InteropServices.Marshal.ReleaseComObject(oBook)
oBook = Nothing
Runtime.InteropServices.Marshal.ReleaseComObject(oBooks)
oBooks = Nothing
oExcel.Quit()
Runtime.InteropServices.Marshal.ReleaseComObject(oExcel)
oExcel = Nothing

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: