Tổng quát về các lệnh mở file Visual2013

6 38 0
  • Loading ...
1/6 trang

Thông tin tài liệu

Ngày đăng: 13/04/2018, 11:42

• • • Tổng Quát Các Lệnh Mở File gửi truongphu » Thứ 30/04/2008 10:10 am Thủ thuật: Tổng Quát Các Lệnh Mở File Tác giả: truongphu tả: Tổng Quát Các Lệnh Mở File Mong bạn giúp đở thêm viết chữ Tổng Quát "to' A- Lệnh gọi thi hành A- 1) Lệnh Shell: tham khảo VBLib * Gọi trình WinWord, Phải có path WINWORD.EXE Theo thói quen, bỏ phần ".exe" Ví dụ: Mã: Chọn tất aaa = Shell("D:\Office\Microsoft Office\Office10\WINWORD", 1) * Gọi trình WinWord mở file doc đó: Mã: Chọn tất aaa = Shell("D:\Office\Microsoft Office\Office10\WINWORD C:\MùaThu~1.doc", 1) Lưu ý: tên file khơng có space, ví dụ sau khơng chạy được: Mã: Chọn tất NotRun = Shell("D:\Office\Microsoft Office\Office10\WINWORD.EXE" "C:\Mùa Thu Lá bay", 1) * Ta dùng trình văn để mở file bất kỳ, đọc thấy toàn mã máy: Mã: Chọn tất aaa = Shell("C:\Program Files\Windows NT\Accessories\wordpad c:\windows\system32\calc.exe", 1) * Khi Shell gọi trình MS Windows (ví dụ calc.exe) thư mục gốc hay hệ thống (windows\ hay windows\system32), khởi động, biến môi trường nộp vào nhớ nên ta bỏ qua đường dẫn, máy có cài winXP đâu! Mã: Chọn tất aaa = Shell ("calc") gọn Mã: Chọn tất Shell "calc" nguyên tắc gọn nầy dùng với trình khác: Mã: Chọn tất Shell "D:\Office\Microsoft Office\Office10\WINWORD" Shell "D:\Office\Microsoft Office\Office10\WINWORD C:\MùaThu~1.doc" A- 2) Lệnh ShellExecute: ShellExecute tự chạy yêu cầu, file, hay câu lệnh, VỚI ĐIỀU KIỆN LÀ FILE ĐÓ, HAY CÂU LỆNH ĐÓ ĐÃ ĐƯỢC KHAI BÁO TRONG WINDOWS LÀ MỞ VỚI TRÌNH NÀO Vậy file hay câu lệnh chưa đăng ký "Open With" ShellExecute vơ tác dụng! Vì lý trên, ta nên cân nhắc gọi ShellExecute, ví dụ muốn xem nội dung file khơng có mở rộng, ta cần gọi Shell để chạy Notepad hay Wordpad load file cần xem, tránh khai báo rườm rà không cần thiết Khai báo hàm API: Mã: Chọn tất Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub Form_Load() ShellExecute Me.hwnd, vbNullString, "C:\Mùa Thu Lá Bay.doc", vbNullString, "C:\", End Sub Nhận xét: Tên file tự A- 3) VBScript * Gọi ứng dụng Các dòng lệnh sau tương đương với dòng lệnh Shell: Set objShell = CreateObject("Wscript.Shell") Mã: Chọn tất objShell.Run "calc" objShell.Run ("ping 10.0.0.2") objShell.Run "WINWORD" objShell.Run "EXCEL" Nhận xét: Tốn câu khai báo: "Set objShell = ", chạy ứng dụng đăng ký, ví dụ WinWord khỏi khai path, khác với Shell * Mở file văn Mã: Chọn tất Set objword = CreateObject("Word.Application").Documents.Open("C:\Mùa Thu Lá Bay.Doc", 1) B- Lệnh mở thao tác file với thao tác Đọc, Ghi Trong viết nầy minh họa thao tác Đọc B- 1) Lệnh Open: tham khảo VBLib a- Chuyên mở file TXT trích VBLib: Mã: Chọn tất Private Sub Form_Load() Dim TextLine Open "TESTFILE" For Input As #1' Mo file Ðê Ðoc Do While Not EOF(1) Line Input #1, TextLine' Ðoc tung dòng gán vào biên TextLine Debug.Print TextLine' In hình Loop Close #1' Ðóng file End Sub b- Đọc text Unicode trích VBLib: (trong VBLib phần nầy sót vài thành phần Code sau hoàn chỉnh hơn) Mã: Chọn tất Private Sub Form_Load() Dim fNum As Long, B() As Byte, fp fp = "C:\Mùa Thu Lá Bay.txt" fNum = FreeFile() Open fp For Binary Access Read As #fNum ReDim B(LOF(fNum)) Get #fNum, , B Close #fNum 10 Dim arr, i As Integer, s As String 11 arr = Split(B, vbCrLf) 12 For i = To UBound(arr) 13 s = s & arr(i) & vbCrLf 14 Next i 15 TextBox1 = s 16 End Sub B- 2) VBScript cho TXT: Tham khảo thêm Mục Tip VB Đọc mã unicode! gọn Mã: Chọn tất Private Function ReadFileUni(FileName As String) As String Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject").OpenTextFile(FileName, 1, , -2) ReadFileUni = FSO.Readall Set FSO = Nothing End Function Private Sub Form_Load() TextBox1 = ReadFileUni("C:\Mùa Thu Lá Bay.txt") 10 End Sub B- 3) VBScript cho Doc (hoặc RTF, TXT): Tham khảo thêm Mục Tip VB Mã: Chọn tất 10 11 12 13 14 15 Private Sub Form_Load() Set objWord = CreateObject("Word.Application") objWord.ChangeFileOpenDirectory ("C:\") objWord.FileDialog(1).Title = "Select the files" If objWord.FileDialog(1).Show = -1 Then For Each objFile In objWord.FileDialog(1).SelectedItems Set objDoc = objWord.Documents.Open(objFile) objDoc.Range.Copy Next End If TextBox1.Paste objWord.Quit End Sub Sáng 30/4/08 rảnh, chiều nghỉ bù! Bổ sung: Đọc file txt dòng Mã: Chọn tất Private Function ReadLineText(FileName As String) As String Const ForReading = 1, ForWriting = 2, TriStateTrue = -2 Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject").OpenTextFile(FileName, 1, False, -2) Do Until FSO.AtEndOfStream ReadLineText = ReadLineText & FSO.ReadLine & vbCrLf 10 11 12 Loop Set FSO = Nothing End Function Private Sub Form_Load() MsgBox ReadLineText("C:\Mùa Thu Lá Bay.txt") End Sub lệnh FSO.Readall thành lệnh FSO.ReadLine Thêm Do Until FSO.AtEndOfStream Loop để duyệt dòng Các code khác cũ Tơi bổ sung trên, phần cuối Dùng lệnh Shell gọi Word để mở file doc nguyên tắc OK Tuy nhiên thực hành code, nhiều bạn thất bại, lý do: 1- Khai báo code chưa 2- Đường dẫn WinWord dài được, đường dẫn file doc TUYỆT ĐỐI PHẢI 8.3 3- chưa hổ trợ tên file (hay đường dẫn) có tiếng Việt Để đơn giản hóa vấn đề, tơi viết Project: Dùng CommonDialog (khai code) gọi WinWord File Doc, giao cho SHELL xử lý Mã: Chọn tất Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long Private Sub Command1_Click() Dim WordPath$ MsgBox "Tìm WinWord o' Ðâu ?" WordPath = CDL(3, "D:\Office\Microsoft Office\OFFICE11") If WordPath = "" Then Exit Sub MsgBox "Tìm thâ'y Word.EXE o':" & vbCrLf & WordPath & vbCrLf & "Mo' File Word o' Ðâu ?" & vbCrLf & "(KHÔNG HÔ TRO' FILENAME TIÊ'NG VIÊT)" Shell WordPath & " " & ShortPath(CDL(, "D:\MY DOCUMENTS")), vbNormalFocus 10 End Sub 11 12 13 14 cộng tổng column theo điều kiện giá trị gửi tdc » Thứ 18/12/2013 3:07 pm em có file liệu access tạo column sau "ngay - N01 - N02 - N03 - N31" columns từ N01 N31 dạng number để cộng tổng em dùng câu truy vấn sau Mã: Chọn tất If rs.State = Then: rs.Close rs.Open "SELECT N01+N02+N03+N04+N05+N06+N07+N08+N09+N10+N11+N12+N13+N14+N15+N16+N17+N 18+N19+N20+N21+N22+N23+N24+N25+N26+N27+N28+N29+N30+N31 AS tongcong FROM bang_cong WHERE thang='" _ & thangnam & "' and ho_ten='" & List1.List(i) & "'", DB, adOpenKeyset, adLockPessimistic ... A- 2) Lệnh ShellExecute: ShellExecute tự chạy yêu cầu, file, hay câu lệnh, VỚI ĐIỀU KIỆN LÀ FILE ĐÓ, HAY CÂU LỆNH ĐÓ ĐÃ ĐƯỢC KHAI BÁO TRONG WINDOWS LÀ MỞ VỚI TRÌNH NÀO Vậy file hay câu lệnh chưa... Chọn tất Private Function ReadFileUni(FileName As String) As String Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject").OpenTextFile(FileName, 1, , -2) ReadFileUni = FSO.Readall Set FSO... CreateObject("Word.Application") objWord.ChangeFileOpenDirectory ("C:") objWord.FileDialog(1).Title = "Select the files" If objWord.FileDialog(1).Show = -1 Then For Each objFile In objWord.FileDialog(1).SelectedItems
- Xem thêm -

Xem thêm: Tổng quát về các lệnh mở file Visual2013, Tổng quát về các lệnh mở file Visual2013

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay