Chia Sẻ, Học tập Và Nghiên Cứu Visual Studio 2010 (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,538
Được thích
4,133
Giới tính
Nam
Sau một thời gian tham gia GPE học code VBA đến nay mình cũng tạm biết viết ...các đây khoãng 1 một tháng mình tập sang VB6 thì cũng viết tốt như trên VBA...
Nay mình chuyển qua tự nghiên cứu trên visual studio 2010...thấy nó vừa khó mà vừa hay...
nên mình xin mở đề tài này để bạn nào có cùng chí hướng nghiên cứu chia sẽ khiến thức về visual studio 2010 hay cụ thể hơn là sự kết nối giữa Excel và visual studio 2010 bằng VB...
để cùng nhau học tập và nghiên cứu từng bước chinh phục đỉnh cao của lập trình
mình úp file thử test của mình lên mong các bạn tham gia
1/ Mở File Excel: Bai Tap Visual Studio.xlsb lên và gõ vào cột A thì sẽ thấy kết quả cột b,c,d
2/ Mở của sổ VBA lên xem code thì không thấy gì hết
3/ yêu cầu máy phải cài dotNetF x3.5 trở lên

Code Trong visual studio 2010
PHP:
Public Class Sheet1
   Private Sub Sheet1_Change(Target As Microsoft.Office.Interop.Excel.Range) Handles Me.Change               
       If Target.Count = 1 Then
            If Target.Column = 1 Then
                Cells(Target.Row, 2) = ("Kieu Manh")
                Cells(Target.Row, 3) = ("Giai Phap Excel")
                Cells(Target.Row, 4) = ("Cong Cu Tuyet Voi Cua Ban")
            End If
        End If
    End Sub
End Class
File lớn mình Úp lên GPE không được các bạn vào link sau tải về nha
https://drive.google.com/file/d/0B7zWYlns0sLBS2lhbGthSjJqTW8/view?usp=sharing
Xin Cảm Ơn các Bạn cùng tham gia nghiên cứu
 
Lần chỉnh sửa cuối:
Tặng cho Bạn nào mới tập làm quen với VBA mà chưa biết bật Macros thì tải file Sau về chạy một cái là OK
Áp dụng cho WinXP + Win7 + Office 2010 ...Máy cài Dotnet 3.5 (Nếu máy chưa cài Dotnet 3.5 thì Sử dụng file VB6)
Auto Check Access To VBOM và Enable Macros
Code trên Form Visual Studio 2010

PHP:
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim VBOM As String, Emacros As String
        'Check Trust Access To VBA project model
        VBOM = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\AccessVBOM"
        CreateObject("WScript.Shell").RegWrite(VBOM, 1, "REG_DWORD")
        'Enable Macros Setting muc canh bao an Toan
        Emacros = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\VBAWarnings"
        CreateObject("WScript.Shell").RegWrite(Emacros, 2, "REG_DWORD")
        MsgBox("Ban Da Enable Macros Thanh Cong" & vbNewLine & "Vui Long Mo Excel Kiem Tra !", , "Kieu Manh_GPE")
        Application.Exit() ''Thoat Form
    End Sub
End Class

File 20k mà không Úp lên GPE được
Các bạn vào link sau tải nha
https://drive.google.com/file/d/0B7zWYlns0sLBRHowZUJ0Q1lYSXc/view?usp=sharing
File VB6
https://drive.google.com/file/d/0B7zWYlns0sLBcVdTWUJGMnZwSHM/view?usp=sharing

Lưu ý File VB6 Sử dụng được từ Office 2007 - 2010 còn 2013 chưa Test
 
Lần chỉnh sửa cuối:
Upvote 0
File Check To VBOM và Enable Macros VB6
Nhờ Mod xóa dùm bài thừa này
Xin Cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Sau một thời gian tham gia GPE học code VBA đến nay mình cũng tạm biết viết ...các đây khoãng 1 một tháng mình tập sang VB6 thì cũng viết tốt như trên VBA...
Nay mình chuyển qua tự nghiên cứu trên visual studio 2010...thấy nó vừa khó mà vừa hay...
nên mình xin mở đề tài này để bạn nào có cùng chí hướng nghiên cứu chia sẽ khiến thức về visual studio 2010 hay cụ thể hơn là sự kết nối giữa Excel và visual studio 2010 bằng VB...
để cùng nhau học tập và nghiên cứu từng bước chinh phục đỉnh cao của lập trình
mình úp file thử test của mình lên mong các bạn tham gia
1/ Mở File Excel: Bai Tap Visual Studio.xlsb lên và gõ vào cột A thì sẽ thấy kết quả cột b,c,d
2/ Mở của sổ VBA lên xem code thì không thấy gì hết
3/ yêu cầu máy phải cài dotNetF x3.5 trở lên

Code Trong visual studio 2010
PHP:
Public Class Sheet1
   Private Sub Sheet1_Change(Target As Microsoft.Office.Interop.Excel.Range) Handles Me.Change               
       If Target.Count = 1 Then
            If Target.Column = 1 Then
                Cells(Target.Row, 2) = ("Kieu Manh")
                Cells(Target.Row, 3) = ("Giai Phap Excel")
                Cells(Target.Row, 4) = ("Cong Cu Tuyet Voi Cua Ban")
            End If
        End If
    End Sub
End Class
File lớn mình Úp lên GPE không được các bạn vào link sau tải về nha
https://drive.google.com/file/d/0B7zWYlns0sLBS2lhbGthSjJqTW8/view?usp=sharing
Xin Cảm Ơn các Bạn cùng tham gia nghiên cứu
Tôi cũng rất yêu thích lập trình mặc dù không được học cơ bản. Tôi rất muốn chuyển sang các ngôn ngữ lập trình khác nay thấy bạn mở Topic này tôi rất thích, tuy nhiên mong bạn giúp tôi 1 vài câu hỏi sau nhé!
1.Từ VBA chuyển sang học Visual Studio có nhiều bỡ ngỡ không? Hai ngôn ngữ này có tương đồng nhiều không hay khác nhau hoàn toàn?
2. Xin cho tôi biết 1 vài ứng dụng của Visual Studio
3. Chia sẻ cho tôi cũng như các thành viên khác xin 1 ít tài liệu về Visual Studio mà bạn đang nghiên cứu được không?
Chân thành cảm ơn bạn!
 
Upvote 0
Tôi cũng rất yêu thích lập trình mặc dù không được học cơ bản. Tôi rất muốn chuyển sang các ngôn ngữ lập trình khác nay thấy bạn mở Topic này tôi rất thích, tuy nhiên mong bạn giúp tôi 1 vài câu hỏi sau nhé!
1.Từ VBA chuyển sang học Visual Studio có nhiều bỡ ngỡ không? Hai ngôn ngữ này có tương đồng nhiều không hay khác nhau hoàn toàn?
2. Xin cho tôi biết 1 vài ứng dụng của Visual Studio
3. Chia sẻ cho tôi cũng như các thành viên khác xin 1 ít tài liệu về Visual Studio mà bạn đang nghiên cứu được không?
Chân thành cảm ơn bạn!
Visual Studio không phải là 1 ngôn ngữ lập trình mà là bộ công cụ phát triển phần mềm bao gồm nhiều ngôn ngữ như VB, VC++, C#... Chương trình của bạn kieumanh dùng ngôn ngữ VB.NET
 
Upvote 0
Visual Studio không phải là 1 ngôn ngữ lập trình mà là bộ công cụ phát triển phần mềm bao gồm nhiều ngôn ngữ như VB, VC++, C#... Chương trình của bạn kieumanh dùng ngôn ngữ VB.NET
Vâng, em cảm ơn anh ạ!
Vậy để học được visual Studio thì điều kiện cần và đủ là gì vậy anh? Em mới biết cơ bản về VBA và 1 ít của VB6 liệu có học được không?
 
Upvote 0
Vâng, em cảm ơn anh ạ!
Vậy để học được visual Studio thì điều kiện cần và đủ là gì vậy anh? Em mới biết cơ bản về VBA và 1 ít của VB6 liệu có học được không?

những ngôn ngữ lập trình dạng WINDOWFORM rất đơn giản và dễ tiếp thu, vì hầu như nó đã viết sẵn các class hết rồi, chỉ cần vẽ nút và viết lệnh cơ bản là ok
VBNET hay C# gì gì đó, chủ yếu là viết giao diện người dùng và xử lý dữ liệu từ cơ sở dữ liệu và show kết quả ra màn hình, hay dùng nó để giao tiếp người dùng với CSDL ...
 
Upvote 0
Vâng, em cảm ơn anh ạ!
Vậy để học được visual Studio thì điều kiện cần và đủ là gì vậy anh? Em mới biết cơ bản về VBA và 1 ít của VB6 liệu có học được không?
Điều kiện cần: có PC cài Visual Studio.
Điều kiện đủ chắc là khó đối với dân không chuyên như chúng mình, mà cũng không cần phải biết hết mọi ngôn ngữ đâu, tùy theo mục đích của mình thôi.
 
Upvote 0
Điều kiện cần: có PC cài Visual Studio.
Điều kiện đủ chắc là khó đối với dân không chuyên như chúng mình, mà cũng không cần phải biết hết mọi ngôn ngữ đâu, tùy theo mục đích của mình thôi.
Theo em biết thì anh KieuManh cũng là dân không chuyên mà vẫn tự học được. Nếu quyết tâm em nghĩ anh em mình cũng sẽ học được thôi!
 
Upvote 0
Theo em biết thì anh KieuManh cũng là dân không chuyên mà vẫn tự học được. Nếu quyết tâm em nghĩ anh em mình cũng sẽ học được thôi!
học là học được bình thường thôi mà, có gì đâu, viết code cũng gần giống như VB, mà VB cũng có các code gần như VBA. cái quan trọng là kỹ thuật lập trình như thế nào thôi, mà cái đó mới quan trọng
tại sao ở đh người ta dạy 120 tiết lập trình C, sau đó dạy 120 tiết KTLT1 ,và 120 tiết KTLT2, cài đặt bằng C, sau đó người ta dạy thêm 120 tiết lập trình hướng đối tượng cũng cài đặt bằng C ....
cũng là 1 vấn đề, nhưng người học lập trình thôi giải quyết cũng được, mà người học nhiều kỹ thuật giải quyết cũng được (nhưng thử so sánh 2 cách thấy một trời một vực)
nói tóm lại học ngôn ngữ không khó, mà cái khó là làm sao ứng dụng nó vào công việc một cách hiệu quả nhất
 
Upvote 0
học là học được bình thường thôi mà, có gì đâu, viết code cũng gần giống như VB, mà VB cũng có các code gần như VBA. cái quan trọng là kỹ thuật lập trình như thế nào thôi, mà cái đó mới quan trọng
tại sao ở đh người ta dạy 120 tiết lập trình C, sau đó dạy 120 tiết KTLT1 ,và 120 tiết KTLT2, cài đặt bằng C, sau đó người ta dạy thêm 120 tiết lập trình hướng đối tượng cũng cài đặt bằng C ....
cũng là 1 vấn đề, nhưng người học lập trình thôi giải quyết cũng được, mà người học nhiều kỹ thuật giải quyết cũng được (nhưng thử so sánh 2 cách thấy một trời một vực)
nói tóm lại học ngôn ngữ không khó, mà cái khó là làm sao ứng dụng nó vào công việc một cách hiệu quả nhất
Xin phép chen ngang topic hỏi anh riêng tư 1 câu: Em thấy dưới link chữ kí của anh có câu "
Hứa Với lòng hạn chế sử dụng DIC". Tại sao lại vậy? Phải chăng vì Dic mà anh đã gặp phải hậu quả gì nghiêm trọng???
 
Upvote 0
vì tôi không thích sử dụng nó thôi mà, tôi muốn tự thân vận động những gì vốn có của tôi để giải quyết các vấn đề thôi, chẳng hạn như bạn muốn tìm duy nhất mà không sử dụng DIS thì mình có những thuật toán nào để giải quyết.v.v.
 
Upvote 0
Tôi cũng rất yêu thích lập trình mặc dù không được học cơ bản. Tôi rất muốn chuyển sang các ngôn ngữ lập trình khác nay thấy bạn mở Topic này tôi rất thích, tuy nhiên mong bạn giúp tôi 1 vài câu hỏi sau nhé!
1.Từ VBA chuyển sang học Visual Studio có nhiều bỡ ngỡ không? Hai ngôn ngữ này có tương đồng nhiều không hay khác nhau hoàn toàn?
2. Xin cho tôi biết 1 vài ứng dụng của Visual Studio
3. Chia sẻ cho tôi cũng như các thành viên khác xin 1 ít tài liệu về Visual Studio mà bạn đang nghiên cứu được không?
Chân thành cảm ơn bạn!
Thực ra mình là dân ngoại đạo về lập trình học hết lớp 8. vì công việc và có duyên Với GPE nên tự học thôi cho nên nói để bạn hiểu mình cũng ko biết bắt đầu từ đâu...
1/ khi mình rành VBA rồi mình bắt đầu tập VB6 khoãng 1 tháng thì VBA và VB6 mình viết được như nhau
2/ mình thấy VB.net nó ứng dụng được nhiều hơn và phù hợp với xu thế phát triển của công nghệ nên mình quay sang nghiên cứu nó .còn VB6 bác Bill Bỏ quên lâu rồi nó vẫn còn tương thích với Win... về sau này nó sẽ hạn chế dần dần..
3/ VBA và VB6 nó gần giống nhau... nhưng qua VB.net Code có cái giống rất ít.. phần nhiều là nó khác VD file mình úp lên Bài 1 trong Worksheet_Change không có code mà nó vẫn chạy ...còn VB6 thì phải có một Sub Keo nó thì nó với chạy...
4/ Nếu bạn rành VB6 khi viết code biên dịch nó thành File *.dll thì bảo mất code sẽ tốt hơn trên VBA vì vậy mình tặng cho bạn một Sub sau đăng ký File dll và bật macros luôn...thực ra làm File .Bat và File reg cũng được nhưng thấy nó sao ấy nên mình làm chung một cái thôi..(và tặng cho những bạn nào cần)
Áp dụng VB6 (Lưu ý File *.dll và File Register phải cùng một Folder)
PHP:
Private Sub Form_Load()
    Dim strPath As String, strCopy As String, DLL As String
    Dim VBOM As String, Emacros As String, sComm As String
    DLL = "QLBH.dll"''File Can Dang Ky
    strPath = "QLBH.dll"''File Can Dang Ky_Luu Y neu Doi File
    strCopy = "C:\WINDOWS\system32\" & "QLBH.dll"''Copy file dang ky vao C:\WINDOWS\system32\
    With CreateObject("Scripting.FileSystemObject")
        If .FileExists(strCopy) Then .DeleteFile strCopy
        If .FileExists(strPath) = True Then''Kiem tra neu file dang ky co thi Copy vao C
            .CopyFile strPath, strCopy'File can copy
            .DeleteFile strPath''Xoa File QLBH.dll trong Cung Folder
            'Register File *.DLL
            sComm = "regsvr32 /s C:\Windows\System32\" & DLL
            CreateObject("Wscript.Shell").Run "cmd /c " & sComm, 0, True
            'Check Trust Access To VBOM project model
            VBOM = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\AccessVBOM"
            CreateObject("WScript.Shell").RegWrite VBOM, 1, "REG_DWORD"
            'Enable Macros Setting muc canh bao an Toan
            Emacros = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\VBAWarnings"
            CreateObject("WScript.Shell").RegWrite Emacros, 2, "REG_DWORD"''Neu mo tha cua thi sua 2 thanh 1
             MsgBox "Ban Da Dang Ky Su Dung" & vbNewLine & _
            "Chuong Trinh Thanh Cong !", , "Kieu Manh"
        Else
            MsgBox "File QLBH.dll Khong Ton Tai Trong Cung Folder" & vbNewLine & _
            "Dang Ky That Bai !  Ban Khong The Su Dung Chuong Trinh", , "Kieu Manh"
        End If
    End With
    Unload Me''Thoat Form
 End Sub
Link tai liệu VB.net mình kiếm trên mạng thôi
https://drive.google.com/file/d/0B7zWYlns0sLBQkFGY1BNdktPdzA/view?usp=sharing
 

File đính kèm

Upvote 0
học là học được bình thường thôi mà, có gì đâu, viết code cũng gần giống như VB, mà VB cũng có các code gần như VBA. cái quan trọng là kỹ thuật lập trình như thế nào thôi, mà cái đó mới quan trọng
tại sao ở đh người ta dạy 120 tiết lập trình C, sau đó dạy 120 tiết KTLT1 ,và 120 tiết KTLT2, cài đặt bằng C, sau đó người ta dạy thêm 120 tiết lập trình hướng đối tượng cũng cài đặt bằng C ....
cũng là 1 vấn đề, nhưng người học lập trình thôi giải quyết cũng được, mà người học nhiều kỹ thuật giải quyết cũng được (nhưng thử so sánh 2 cách thấy một trời một vực)
nói tóm lại học ngôn ngữ không khó, mà cái khó là làm sao ứng dụng nó vào công việc một cách hiệu quả nhất
nếu được đề nghị bạn cho một code trên Visual studio 2010 Copy từ sheet1 Paste qua Sheet2 Chạy For next được không..rất vui sẽ nhìn thấy code của bạn
 
Upvote 0
Thực ra mình là dân ngoại đạo về lập trình học hết lớp 8. vì công việc và có duyên Với GPE nên tự học thôi cho nên nói để bạn hiểu mình cũng ko biết bắt đầu từ đâu...

Học hết lớp 8 mà bạn có thể tự học lập trình như thế này cho thấy bạn rất có chí. Chắc tôi phải cố gắng nhiều nữa mới được như bạn.
 
Upvote 0
nếu được đề nghị bạn cho một code trên Visual studio 2010 Copy từ sheet1 Paste qua Sheet2 Chạy For next được không..rất vui sẽ nhìn thấy code của bạn
hiện tôi không cài VBNET nên tôi sẽ không có môi trường viết, nếu có đi chăng nữa thì tôi sẽ không viết vì nó chả có nghĩa gì cả, không áp dụng vào công việc thì tôi không màn tới, tại sao VBA có rồi mà không áp dụng?
mỗi ngôn ngữ lập trình có thế mạnh của nó, tại sao mình không sử dụng thế mạnh của nó đúng mục đích chứ, tôi thấy VBNET áp dụng tốt nhất là với CSDL, tương tác dữ liệu với người dùng thông qua form
tôi đã từng học và vọc cái này trên 10 năm rồi, nên bây giờ rất chán làm những cái không cần thiết, đề tài này tôi không tham gia nữa
 
Upvote 0
bạn kieu manh !
sự nỗ lực và thành tích của bạn làm mình có động lực để học tập !
Cám ơn bạn đã chia sẻ những gì bạn có
 
Upvote 0
Chịu khó học hỏi là điều tốt.
Nhưng tôi có lời cảnh báo cho các bạn muốn học cách lập trình qua Visual Studio:

Nếu bạn không nhận thấy cái đặc biệt trong code bài #1 và #2 thì con đường học của bạn còn nhiều gian truân lắm. (Nếu vẫn chưa nhận ra thì đọc câu cuối cùng của bài này)

Có thể nói thẳng, tôi tiếp xúc với VS nhiều năm rồi, nhưng bây giờ bảo tôi làm thử cái đề thách đố trong bài #14, tôi cũng chưng hửng.

Cái mà chủ thớt đưa ra ở đây là một bộ phận nối thêm của vs, mệnh danh interop assembly. Đại khái cũng như bên excel ta sử dụng addins, references vậy.

Nếu bạn muốn học vs thì học thẳng vb.net, c#, hoặc thậm chí visual c++ cũng được. Theo tôi thì đừng học qua interop, vừa lộn xộn mà thành quả không bao nhiêu.

Lưu ý rằng vb6 là ngôn ngữ lập trình cấu trúc trong khi vb.net là hướng đối tượng. Tuy các câu lệnh rất giống nhau nhưng cách thành lập một chương trình khác nhau hoàn toàn.
 
Upvote 0
chọn ngôn ngữ nào là tùy công việc, mức độ xử lý và ý thích... tui từ VB, C, C# (từ hơn chục năm trước) quay về VBA vì nó phù hợp với công việc văn phòng, vậy thôi. còn nếu học cho vui thì theo tui nên học C# = C++++ (mạnh như C, dễ như VB)
 
Upvote 0
chọn ngôn ngữ nào là tùy công việc, mức độ xử lý và ý thích... tui từ VB, C, C# (từ hơn chục năm trước) quay về VBA vì nó phù hợp với công việc văn phòng, vậy thôi. còn nếu học cho vui thì theo tui nên học C# = C++++ (mạnh như C, dễ như VB)
Bạn có thể gửi cho tôi xin 1 ít giáo trình về C# được không?
 
Lần chỉnh sửa cuối:
Upvote 0
Chịu khó học hỏi là điều tốt.
Nhưng tôi có lời cảnh báo cho các bạn muốn học cách lập trình qua Visual Studio:

Nếu bạn không nhận thấy cái đặc biệt trong code bài #1 và #2 thì con đường học của bạn còn nhiều gian truân lắm. (Nếu vẫn chưa nhận ra thì đọc câu cuối cùng của bài này)

Có thể nói thẳng, tôi tiếp xúc với VS nhiều năm rồi, nhưng bây giờ bảo tôi làm thử cái đề thách đố trong bài #14, tôi cũng chưng hửng.

Cái mà chủ thớt đưa ra ở đây là một bộ phận nối thêm của vs, mệnh danh interop assembly. Đại khái cũng như bên excel ta sử dụng addins, references vậy.

Nếu bạn muốn học vs thì học thẳng vb.net, c#, hoặc thậm chí visual c++ cũng được. Theo tôi thì đừng học qua interop, vừa lộn xộn mà thành quả không bao nhiêu.

Lưu ý rằng vb6 là ngôn ngữ lập trình cấu trúc trong khi vb.net là hướng đối tượng. Tuy các câu lệnh rất giống nhau nhưng cách thành lập một chương trình khác nhau hoàn toàn.
Mình cũng đang tập tành tự nghiên cứu thôi chứ cũng chưa xác định được hướng đi nào cho phù hợp....nếu bạn biết xin chỉ dùm
xin cảm ơn
 
Upvote 0
Upvote 0
Nếu bạn cần thì có thể tải về từ địa chỉ trên, cứ nghiên cứu nha, nếu bạn chú trọng nghiên cứu thì ít nhất 2 năm thì nội công của bạn mới được mọi người xem trọng
http://www.mediafire.com/download/kkx5amq4wj28pd1/CSHAP.rar
chúc bạn thành công

Tôi không đồng ý với thầy,
Có người học đọc chính quy 10 năm chưa hẳn đã được nội công xem trọng, có người 1 tuần cũng được.

Thực ra, thì không nên nói viết vậy thầy ah, tôn trọng là tình cảm - còn kiến thực học lĩnh hội là của riêng của cá nhân - tuỳ theo sức người mà học - không phải cứ theo người khác nói.

Gửi các tv khác: hãy học cái các bạn cần bạn đam mê đó là cái học tốt nhất, còn mọi thứ đều không dễ dàng cũng nhưn không khó khăn như người ta nói - tuỳ theo sức của mình , học được là quý là trân trọng dù ít dù nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình Xin mở đề tài này với Tinh thần

Chia sẻ, học tập và nghiên cứu Visual studio 2010 kết nối với Excel bằng VB.....

Vì vậy với tinh thần cầu thị, chia sẻ, chỉ bảo cho nhau cùng nghiên cứu và học tập nếu Bạn nào có nghiên cứu hay về đề tài ... và mong muốn chia sẻ thì úp lên cho mọi người cùng học ....nếu không thì thôi....mọi vấn đề khác không liên quan xin không bàn luận làm loãng đề tài....

Xin cảm ơn các Bạn đã quan tâm.

Kiều Mạnh
 
Upvote 0
Mình Xin mở đề tài này với Tinh thần

Chia sẻ, học tập và nghiên cứu Visual studio 2010 kết nối với Excel bằng VB.....

Vì vậy với tinh thần cầu thị, chia sẻ, chỉ bảo cho nhau cùng nghiên cứu và học tập nếu Bạn nào có nghiên cứu hay về đề tài ... và mong muốn chia sẻ thì úp lên cho mọi người cùng học ....nếu không thì thôi....mọi vấn đề khác không liên quan xin không bàn luận làm loãng đề tài....

Xin cảm ơn các Bạn đã quan tâm.

Kiều Mạnh

Như tôi đã trình bày. VS thì tôi có biết chút đỉnh. Nhưng interop thì tôi mù tịt.
Nay chủ thớt đã khẳng định đề tài liên quan đến Excel, tôi cũng khẳng định là mình chả có gì chia xé được cả.
 
Upvote 0
hi a. Kieu Manh,

Tôi có dự định sẽ nghiên cứu VS nhưng chưa có thời gian, dù đã cài VS 2008 vào máy. Rất hoan nghênh Kieu Manh có thể là người tiên phong trong chuyện này ở GPE (trước kia anh Levanduyet cũng đã từng muốn đẩy mạnh thảo luận về VS ở GPE, nhưng anh cũng không có thời gian).

Tôi hiểu rằng những việc anh làm có thể hơi chập chững, và đối với người có hiểu biết có hơi quái dị kiểu dùng dao mổ trâu giết gà. Nhưng đối với những người tìm hiểu VS từ góc nhìn người dùng Excel thì đó có thể là cách tiếp cận dể hiểu nhất.

"Say hungry, stay foolish"

Ngoài ra, nếu có thể Bình hi vọng có thể liên lạc với anh, qua email overac at giaiphapexcel.com

Thân
OverAC
 
Upvote 0
hi a. Kieu Manh,

Tôi có dự định sẽ nghiên cứu VS nhưng chưa có thời gian, dù đã cài VS 2008 vào máy. Rất hoan nghênh Kieu Manh có thể là người tiên phong trong chuyện này ở GPE (trước kia anh Levanduyet cũng đã từng muốn đẩy mạnh thảo luận về VS ở GPE, nhưng anh cũng không có thời gian).

Tôi hiểu rằng những việc anh làm có thể hơi chập chững, và đối với người có hiểu biết có hơi quái dị kiểu dùng dao mổ trâu giết gà. Nhưng đối với những người tìm hiểu VS từ góc nhìn người dùng Excel thì đó có thể là cách tiếp cận dể hiểu nhất.

"Say hungry, stay foolish"

Ngoài ra, nếu có thể Bình hi vọng có thể liên lạc với anh, qua email overac at giaiphapexcel.com

Thân
OverAC

VS 2008 chỉ reference office chứ không embed như vs 2010. Vì vậy phần mềm sản xuất từ vs 2008 lúc đem ra sử dụng có thể vẫn phải register cái interop dll.

Tôi khuyên bạn nào muốn đi theo con đường này thì dùng luôn vs 2010, đừng vướng víu với vs 2008 chỉ mất công.
 
Upvote 0
VS 2008 chỉ reference office chứ không embed như vs 2010. Vì vậy phần mềm sản xuất từ vs 2008 lúc đem ra sử dụng có thể vẫn phải register cái interop dll.

Tôi khuyên bạn nào muốn đi theo con đường này thì dùng luôn vs 2010, đừng vướng víu với vs 2008 chỉ mất công.
Ồ vậy à, cảm ơn lời khuyên. Đúng là tôi chưa bắt đầu, nên cũng không biết chứ không hơi cực rồi.
Cảm ơn nhiều.
OverAC
 
Upvote 0
Nếu Bạn nào muốn nghiên cứu mà chưa biết tìm Visual Studio 2010 Professional ở đâu thì vào link sau tải về nha
1/ key mình đã Add tự đông vào rồi khi cài chỉ chạy File Setup.exe thôi không cần điền CD key nữa
2/ File Nặng hơn 2G
3/ Bản này Update Online Vô tư lên SP1...Sp2....
3/ Khi setup nên chon Costom để cài những phần mình cần cho nhẹ máy

https://drive.google.com/file/d/0B-FY4pArz3cDUkN0dnd4LXJFZjg/view?usp=sharing

hy vọng có thể giúp ích được cho các bạn
 
Upvote 0
Bạn có thể gửi cho tôi xin 1 ít giáo trình về C# được không?
Năm 2004 tui dành 6 tháng ngâm cứu C#, kết quả là: từ bỏ việc lập trình vì mọi cái tui cần thì C# (chính xác hơn là .Net) làm hết rồi.
Mới kiểm lại trên giá sách còn vài cuốn: Tự học C#, Inside C#, Kỹ thuật lập trình ứng dụng C#.net toàn tập 1,2,3
Nếu bạn ở SG thì vui lòng cho số điện thoại/email, tui cho địa chỉ để bạn đến nhận. Còn ở tỉnh khác vui lòng cho biết địa chỉ và cho biết bạn muốn (những) cuốn nào tui sẽ gửi qua bưu điện (miễn phí tiền sách và tiền trả bưu điện)
 
Upvote 0
Tôi không đồng ý với thầy,
Có người học đọc chính quy 10 năm chưa hẳn đã được nội công xem trọng, có người 1 tuần cũng được.
10 năm là một mốc quan trọn bạn ạ, tui làm chương trình bằng VBA, khi triển khai hay bị hỏi kiểu như “sao không viết bằng VB.Net...”, “tại sao thế này, tại sao không thế kia...” , tui thường trả lời là “anh mất 10 năm mới hiểu, không giải thích cho em trong 5 phút được. Tất nhiên phải có cái “1 tuần”, “1 tháng”, “1 năm”, ... mới có cái “10 năm"

Ngoài lề một tý: kiến thức cỡ VetMili phải là “20, 30 năm” chứ không ít hơn đâu. Còn không thì phải là Thần Đồng.
 
Upvote 0
10 năm là một mốc quan trọn bạn ạ, tui làm chương trình bằng VBA, khi triển khai hay bị hỏi kiểu như “sao không viết bằng VB.Net...”, “tại sao thế này, tại sao không thế kia...” , tui thường trả lời là “anh mất 10 năm mới hiểu, không giải thích cho em trong 5 phút được. Tất nhiên phải có cái “1 tuần”, “1 tháng”, “1 năm”, ... mới có cái “10 năm"

Vậy thế nên càng thể hiện 2 năm xem trọng là có vấn đề, nhưng trên hết bài đó muốn nói rằng: xem trọng (tôn trọng) là một khái niệm tình cảm trừu tượng khác xa với kiến thức lĩnh hội (lượng hóa vô tình) - và việc học, việc lĩnh hội là tùy sức từng người.

Mọi việc học nên được ghi nhận, và mọi cố gắng đều có ích dù ít dù nhiều cũng đáng xem trọng rùi.
 
Upvote 0
Một phát hiện rất thú vị VST 2010

Khi lập trình kết nới với Excel là File Excel các bạn có Enable Macros, Disable All Macros hay Save As thành File *.xlsx thì Code nhúng trong đó nó vẫn chạy

Các Bạn có thể test tải file bài #1 về mở file *.xlsb lên Save thành file *.xlsx thì code nó vẫn chạy tốt ....thế mới thú vị chứ--=0--=0--=0
 
Upvote 0
VS 2008 chỉ reference office chứ không embed như vs 2010. Vì vậy phần mềm sản xuất từ vs 2008 lúc đem ra sử dụng có thể vẫn phải register cái interop dll.

Tôi khuyên bạn nào muốn đi theo con đường này thì dùng luôn vs 2010, đừng vướng víu với vs 2008 chỉ mất công.

Mình thấy VB.Net 2012 hỗ trợ tốt cho office 2010, hiện tại mình đã và đang sử dụng nó, cũng ổn mà.
 
Upvote 0
Một phát hiện rất thú vị VST 2010

Khi lập trình kết nới với Excel là File Excel các bạn có Enable Macros, Disable All Macros hay Save As thành File *.xlsx thì Code nhúng trong đó nó vẫn chạy

Các Bạn có thể test tải file bài #1 về mở file *.xlsb lên Save thành file *.xlsx thì code nó vẫn chạy tốt ....thế mới thú vị chứ--=0--=0--=0

Mình thích nhất là nó hỗ trợ Unicode TV trên hầu hết các control mà VB.Net cung cấp.
 
Upvote 0
Mình thấy VB.Net 2012 hỗ trợ tốt cho office 2010, hiện tại mình đã và đang sử dụng nó, cũng ổn mà.

Tôi nói phiên bản 2008 mà. Nếu tránh được thì nên tránh.
Vả lại, vấn đề tôi nói là ở chỗ cài đặt interop/office. VS 2010 mới có embed, 2008 không có. Bạn phải lập xong, chạy thử trên các máy không cài mới biết.
 
Upvote 0
Nghiên cứu VS2010 kết nối với Excel bằng VB cũng không phải là vấn đề quá khó....vấn đề là Bạn có đam mê hay không thôi

1/ mình mới thử làm một vài sub thử chơi thì thấy nó cũng cũng chạy tốt trên Sheet

2/ có một điều rất hay là khi bạn viết code xong có thể tạo thành file setup.exe mang qua máy khác setup vào máy như một phần mềm chuyên dụng cũng không khác gì mấy

3/ thêm một điều nữa rành cho những bạn nào thích viết Add-ins và cá nhân hóa office thì nó giúp cho bạn quá dễ luôn.. khi viết xong tạo thành file setup.exe mang qua máy khác chạy là xong

File test
https://drive.google.com/file/d/0B7zWYlns0sLBNDEtM0VqYXlobnM/view?usp=sharing
 
Lần chỉnh sửa cuối:
Upvote 0
Nhân đây cho tôi hỏi các anh chị và các bạn: ở bậc ĐH ngành CNTT có trường nào đào tạo VBA không?
 
Upvote 0
Nhân đây cho tôi hỏi các anh chị và các bạn: ở bậc ĐH ngành CNTT có trường nào đào tạo VBA không?
Ngành CNTT bây giờ không còn dạy VB6 nữa, nhưng các ngành kỹ thuật khác của nhiều trường như cơ khí, điện tử... vẫn dạy VB6. Phần lý thuyết căn bản về lệnh trong ngôn ngữ lập trình của VB6 cũng chính là lý thuyết căn bản VBA nên có thể tham khảo.

Tôi nghĩ topic này nhắm người đọc hướng tới việc lập trình trên nền .NET, tuy nhiên nếu bó hẹp việc viết ứng dụng .NET trên mỗi Visual Studio thì chắc không ít người sẽ không theo nổi. Thú thật Visual Studio là cái môi trường hao máy nhất mà tôi từng sử dụng. Mỗi lần cài xong VS là cái máy tôi chạy chậm hẳn, chưa kể là ngốn pin kinh khủng (chắc chỉ thua game hạn nặng).

Nhiều người chủ định cài các phiên bản cũ như VS2010 hay 2008 như giải pháp tình thế nhưng làm thế thì chẳng khác nào chúng đi lùi. Các phiên bản này không mở được cái project viết ở VS về sau, chúng cũng không hỗ trợ các phiên bản ngôn ngữ cao hơn (chẳng hạn C# ra tới version 5.0). Giả sử các bạn có kiếm được đoạn code nào cực ngắn, cực hay hý hứng chép vô chương trình của mình nhưng trình biên dịch báo lỗi... vì chẳng hiểu.

Hiện nay MS cung cấp một phiên bản VS Express rút gọn không yêu cầu phí bản quyền mà xài chả khác gì bản Pro hay Enterprise cả. Quan trọng nhất là bạn được tiếp cận những công nghệ mới nhất. Bạn thoải mái download từ trang chủ của hãng (cũng gần 1GB). Nếu bạn nào muốn nhẹ hơn nữa thì choi SharpDevelop4x như tôi. Chỉ có 16MB thôi. Lúc trước tôi cài song song cả 2 cái nhưng hiện h chỉ cài mối SharpDevelop4x cho nhẹ người.
 
Upvote 0
Nhân đây cho tôi hỏi các anh chị và các bạn: ở bậc ĐH ngành CNTT có trường nào đào tạo VBA không?

Rất ít. Có thì cũng chỉ là mở rộng hay ngoại khoá khi dạy về các phần mềm ứng dụng có VBA nhúng vào (như excel, autoCAD, access...). Tại sao thế, vì VBA chỉ là phẩn thứ yếu mở rộng mà thôi.

Nhưng tôi nghĩ quan trọng là ngôn ngữ nào cũng là công cụ mà thôi, quan trọng là ứng dụng vào việc gì, và đam mê của người học ra sao.
 
Upvote 0
Ngành CNTT bây giờ không còn dạy VB6 nữa, nhưng các ngành kỹ thuật khác của nhiều trường như cơ khí, điện tử... vẫn dạy VB6. Phần lý thuyết căn bản về lệnh trong ngôn ngữ lập trình của VB6 cũng chính là lý thuyết căn bản VBA nên có thể tham khảo.

Tôi nghĩ topic này nhắm người đọc hướng tới việc lập trình trên nền .NET, tuy nhiên nếu bó hẹp việc viết ứng dụng .NET trên mỗi Visual Studio thì chắc không ít người sẽ không theo nổi. Thú thật Visual Studio là cái môi trường hao máy nhất mà tôi từng sử dụng. Mỗi lần cài xong VS là cái máy tôi chạy chậm hẳn, chưa kể là ngốn pin kinh khủng (chắc chỉ thua game hạn nặng).

Nhiều người chủ định cài các phiên bản cũ như VS2010 hay 2008 như giải pháp tình thế nhưng làm thế thì chẳng khác nào chúng đi lùi. Các phiên bản này không mở được cái project viết ở VS về sau, chúng cũng không hỗ trợ các phiên bản ngôn ngữ cao hơn (chẳng hạn C# ra tới version 5.0). Giả sử các bạn có kiếm được đoạn code nào cực ngắn, cực hay hý hứng chép vô chương trình của mình nhưng trình biên dịch báo lỗi... vì chẳng hiểu.

Hiện nay MS cung cấp một phiên bản VS Express rút gọn không yêu cầu phí bản quyền mà xài chả khác gì bản Pro hay Enterprise cả. Quan trọng nhất là bạn được tiếp cận những công nghệ mới nhất. Bạn thoải mái download từ trang chủ của hãng (cũng gần 1GB). Nếu bạn nào muốn nhẹ hơn nữa thì choi SharpDevelop4x như tôi. Chỉ có 16MB thôi. Lúc trước tôi cài song song cả 2 cái nhưng hiện h chỉ cài mối SharpDevelop4x cho nhẹ người.
quả thực đúng như bạn nói cài vào máy mà cấu hình thấp là nó mở mãi mới lên...mà mình cũng không hiểu tại sao bản Pro2010 nặng tới 2.2G còn bản Pro2012 chỉ có 1.5 G thôi chỉ khác nhau giao diện không biết bản nào xài chuẩn hơn ???
 
Upvote 0
vs 2010 đủ rồi, không cần 2012. .net 4 mới là bước nhảy.
vs 2008 chỉ dùng tới .net 3.5

Ba cái phiên bản C# 5 gì gì đó không quan trọng. Nó chỉ cho thêm một vài cách lập class và method. Mà mấy cái này các bạn hoàn toàn không đụng tới.

Như tôi đã nói trên, ở đây bạn dùng VSTO (visual studio tools for office) cho nên mấy cái asembly của interop mới quan trọng.
Ứng dụng chế từ phiên bản 2010 có embed cái này trong khi từ 2008 thì không. Máy chạy ứng dụng phải tự cài lấy.
 
Upvote 0
Ba cái phiên bản C# 5 gì gì đó không quan trọng. Nó chỉ cho thêm một vài cách lập class và method. Mà mấy cái này các bạn hoàn toàn không đụng tới.
Tôi không nghĩ là mấy chục con người của hãng MS nhận lương vài trăm ngàn đô la mỗi năm, có vấn đề về thân kính khi bóp đầu bóp trán cố làm đưa ra những phiên bản ngôn ngữ mới dù biết rằng nó "không quan trọng" gì như VetMini nói. Tôi thì thấy phiên bản ngôn ngữ mới cho ra những cú pháp cực kỳ ngắn gọn, hiện quả điển hình nhât là linq. Xin nói luôn linq không phải là 1 phát minh của .Net mà là một hình thức cú pháp lập trình ngày này đang được áp dụng cho nhiều ngôn ngữ lập trình khác nhau nhằm giúp code ngắn hơn và tiếp cận với logic ngôn ngữ tự nhiên.

Tâm lý người Việt vốn thích sự ổn định (kể cả với công nghệ), giả sử khách hàng nào mà cũng mang tâm lý thế này thì các hãng công nghệ rất may mắn vì chẳng phải bỏ vài tỷ đô mỗi năm để chỉ để cải tiến vài % tính năng sản phẩm và tôi chắc sẽ chẳng lăn tăn gì khi xài con nokia cùi sản xuất từ năm 2006 tới h.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình thử làm trên Form VSTO Check File trong cùng folder xem code giữa VBA, VB6 và VSTO xem nó khác nhau nhiều không thì thấy
1/ về cơ bản VB là giống nhau
2/ khác nhau là làm sao mình khai báo để cho nó hiểu mới là vấn đề đau đầu..
3/ Còn chạy For Next trong VSTO cũng vậy quan trong là làm sao khai báo được một biến toàn cục làm sao cho nó hiểu.......ĐAU ĐẦU !!!!

VD như trên VB6 ta
PHP:
Private Excel As Excel.Application
Public Property Set ExcelApp(ByRef ExcelApp As Excel.Application)
Set Excel = ExcelApp
End Property

Còn trên VSTO thì sao.... thật sự đau đầu...!!!

So sánh code trên VBA, VB6 và VSTO sau thì sẽ hiểu
code trên Form VSTO
PHP:
Public Class Form1
    REM Check FileName trong Cùng Folder
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim FileName As String
        REM Trên VBA
        'FileName = ThisWorkbook.Path & "\" & "QLBH.dll"
        'FileName = ThisWorkbook.Path & "\QLBH.dll"
        REM Trên VB6
        'FileName = App.Path & "\" & "QLBH.dll"
        REM Trên VSTO 2010
        FileName = Application.StartupPath & "\" & "QLBH.dll"
        With CreateObject("Scripting.FileSystemObject")
            If .FileExists(FileName) = True Then
                MsgBox("File Tồn Tại", , "Kiều Mạnh")
            Else
                MsgBox("File Không Tồn Tại Trong Cùng Folder !!!??? ", , "Kiều Mạnh")
            End If
        End With
    End Sub
Hy vọng sẽ nhận được trợ giúp nhiệt tình từ các Bạn
Xin cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
dotNet là môi trường hướng đối tượng hoàn toàn. Tôi muốn nhấn mạnh chữ "hoàn toàn" nên một số ý niệm lập trình trước .Net sẽ không còn tồn tại. Ví dụ bạn cần 1 biến toàn cục và có thể tham khảo trong mọi class khác nhau. dotNet không có khái niệm về biến toàn cục kiểu này, tuy nhiên chúng ta có thể đặt biến toàn cục như là 1 thuộc tính static của một lớp nào đó chẳng hạn class GlobalVariables (tên gì thì tùy hứng). Chẳng hạn GlobalVariables.Total với Total là tổng cái gì đó....

Tôi xin phép không đi sâu vô vấn đề này vì chắc lòi thêm cái ngu của chính tôi, tuy nhiên tôi bảo đảm là những cái tôi nói ở trên đã từng áp dụng.--=0
 
Lần chỉnh sửa cuối:
Upvote 0
Tặng cho Bạn nào mới tập làm quen với VBA mà chưa biết bật Macros thì tải file Sau về chạy một cái là OK
Áp dụng cho WinXP + Win7 + Office 2010 ...Máy cài Dotnet 3.5 (Nếu máy chưa cài Dotnet 3.5 thì Sử dụng file VB6)
Auto Check Access To VBOM và Enable Macros
Code trên Form Visual Studio 2010

PHP:
Public Class Form1
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim VBOM As String, Emacros As String
        'Check Trust Access To VBA project model
        VBOM = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\AccessVBOM"
        CreateObject("WScript.Shell").RegWrite(VBOM, 1, "REG_DWORD")
        'Enable Macros Setting muc canh bao an Toan
        Emacros = "HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Security\VBAWarnings"
        CreateObject("WScript.Shell").RegWrite(Emacros, 2, "REG_DWORD")
        MsgBox("Ban Da Enable Macros Thanh Cong" & vbNewLine & "Vui Long Mo Excel Kiem Tra !", , "Kieu Manh_GPE")
        Application.Exit() ''Thoat Form
    End Sub
End Class

File 20k mà không Úp lên GPE được
Các bạn vào link sau tải nha
https://drive.google.com/file/d/0B7zWYlns0sLBRHowZUJ0Q1lYSXc/view?usp=sharing
File VB6
https://drive.google.com/file/d/0B7zWYlns0sLBcVdTWUJGMnZwSHM/view?usp=sharing

Lưu ý File VB6 Sử dụng được từ Office 2007 - 2010 còn 2013 chưa Test
Nhìn code sao thấy quen quen sao ấy.
 
Upvote 0
Nhìn code sao thấy quen quen sao ấy.
Thay vì hôm trước Anh chỉ Em cách tạo ra 2 file .bat và .reg ghi các thông tin vào 2 file đó sau đó sử dụng file .bat register file reg xong rồi xóa luôn hai file .reg và .bat ở ổ D đi là xong

Thay vì làm vậy thì em ghi trực tiếp vào Registry luôn
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi không nghĩ là mấy chục con người của hãng MS nhận lương vài trăm ngàn đô la mỗi năm, có vấn đề về thân kính khi bóp đầu bóp trán cố làm đưa ra những phiên bản ngôn ngữ mới…

Bạn nghĩ gì là chuyện của bạn. Đây là diễn đàn học hỏi cho nên tôi đưa lại ý kiến phản biện.

Trong MS cũng có hàng trăm người nhận lương trên như vậy, mà chả phải bóp đầu bóp cổ cố làm. Công việc của họ là vắt nước bọt bán cái mà những người kia đưa ra.

MS lên địa vị ngày hôm nay do kỹ thuật phần mềm của họ rất ít, mà phần nhiều chính là do nghệ thuật kinh doanh của họ.

….
Tâm lý người Việt vốn thích sự ổn định (kể cả với công nghệ), ….

Đây là ý tưởng khuôn mẫu hoá (sterrotype), mang đầy tính chất chủ quan và cực đoan.
 
Upvote 0
...
3/ Còn chạy For Next trong VSTO cũng vậy quan trong là làm sao khai báo được một biến toàn cục làm sao cho nó hiểu.......ĐAU ĐẦU !!!!
...

Trong một ngôn ngữ hướng đối tượng đúng lý thuyết thì khái niệm về "biến" đã thay đổi. Mọi "biến" đều là đối tượng. Mọi đối tượng đều là hiện thể của một lớp nào đó. VB.net là một ngôn ngữ HĐT rất gân mức lý thuyết này, cho nên bạn nên hiểu biến theo định nghĩa mới.

Trước khi đi vào vấn đề "biến toàn cục" của bạn, tôi xin nhắc lại sơ qua về khái niệm biến toàn cục.

Trong chương trình cấu trúc, biến toàn cục được lập ra với 2 mục đích:

1. để liên lạc dữ liệu giữa các hàm, phương thức. Nói theo ngôn ngữ chung là sự liên lạc dữ liệu giữa các vùng tầm vực mà không phải qua tham sô. Tuy nhiên, phần lớn những nhà lập trình chuyên lý thuyết đều chê cách này là không đúng đắn.

2. để giữ lại dữ liệu cho chương trình chính sau khi chương trình con chạy xong và thoát.

Cái điểm thứ 2 là cái mà tôi muốn bàn cho VB.net

Khi một lớp bình thường được khai báo thì compiler lập nên cái mẫu. Lúc nào thể hiện đối tượng mới gán vùng nhớ. Riêng các thuộc tính được khai báo theo lối tĩnh thì chúng có vùng nhớ tĩnh đã định sẵn. Điểm quan trọng là lúc các đối tượng (biến) khai báo nội hết phạm vi (tầm vực), và đối tượng được huỷ thì vùng nhớ của nó cũng huỷ theo. Riêng các thuộc tính tĩnh thì chúng có vùng nhớ cố định cho nên vẫn tồn tại.

Ví dụ điểm hình của loại thuộc tính tĩnh này có thể tìm thấy trong các lớp kiểu căn bản (integer, long, string, ...)
Dim result As String = String.Format("{0}: {1:0.0} - {2:yyyy}", name, number, day)
Lệnh trên gọi thuộc tính (ở đây là hàm) Format của lớp String để định dạng
String ở đây là tên của một lớp khai báo sẵn trong dot net. Format là một thuộc tính tĩnh của nó. Để có thể được gọi như vậy, Format phải được khai báo là Public Static (thư viện của dot net đã khai báo sẵn cho bạn). Nếu chỉ có Public mà không có Static thì thuộc tính thuộc về đối tuợng. Chỉ khi nào thể hiện đối tượng mới dùng được, và lúc đối tượng huỷ thì nó cũng huỷ theo.

Cái mà bạn muốn, biến toàn cục, có thể thực hiện qua cách sử dụng thuộc tính cố định/tĩnh (static). Lưu ý từ "có thể thực hiện" bên trên, nó ngụ ý là một phương pháp, không hẳn là duy nhất.
 
Lần chỉnh sửa cuối:
Upvote 0
Trong MS cũng có hàng trăm người nhận lương trên như vậy, mà chả phải bóp đầu bóp cổ cố làm. Công việc của họ là vắt nước bọt bán cái mà những người kia đưa ra.
Theo cách nói của VetMini thì làm cho MS chỉ tốn nước bọt thôi ah? Thế chắc mấy người viêm tuyến nước bọt hoặc bà tám nhà lá là ứng viên tiềm năng cho khoản thu nhập mấy chục ngàn đô bên hãng MS rồi? Bây h tôi mới được mở mang thêm về hoạt động của các hãng công nghệ mà tôi ngưỡng mộ bấy lâu. Không ngờ Windows với Office lại được xây dựng từ "kỹ thuật phần mềm của họ rất ít". Thế mà tôi cứ tưởng nó được xây dựng bằng công nghệ to tát, vĩ đại lắm.
MS lên địa vị ngày hôm nay do kỹ thuật phần mềm của họ rất ít, mà phần nhiều chính là do nghệ thuật kinh doanh của họ.
Xem ra chỉ có thiếu chiến lược kinh doanh theo VetMini nói nữa thôi thì chỉ cần vài bữa là FPT, SPT... Việt Nam dư sức hất cẳng MS trong nháy mắt. Hổng biết mấy bác lãnh đạo công nghệ xứ mình có ghé qua đây để học hỏi không lãng phí quá --=0
Đây là ý tưởng khuôn mẫu hoá (sterrotype), mang đầy tính chất chủ quan và cực đoan.
Phải thừa nhận tâm huyết trong từng lời cao siêu mà VetMni gửi gắm... nhưng khổ nỗi năng lực nhận thức của tôi có hạn nên xin miễn nhận vậy. Tôi tự thấy trời ban cho đầu óc thì cứ tự nhiên mà dùng... Chứ cứ làm theo dẫn dắt người này người nọ thì chả thỏa cái trí ngu dốt của bản thân cho lắm
 
Lần chỉnh sửa cuối:
Upvote 0
dotNet là môi trường hướng đối tượng hoàn toàn. Tôi muốn nhấn mạnh chữ "hoàn toàn" nên một số ý niệm lập trình trước .Net sẽ không còn tồn tại. Ví dụ bạn cần 1 biến toàn cục và có thể tham khảo trong mọi class khác nhau. dotNet không có khái niệm về biến toàn cục kiểu này, tuy nhiên chúng ta có thể đặt biến toàn cục như là 1 thuộc tính static của một lớp nào đó chẳng hạn class GlobalVariables (tên gì thì tùy hứng). Chẳng hạn GlobalVariables.Total với Total là tổng cái gì đó....

Tôi xin phép không đi sâu vô vấn đề này vì chắc lòi thêm cái ngu của chính tôi, tuy nhiên tôi bảo đảm là những cái tôi nói ở trên đã từng áp dụng.--=0

Bạn đang nói webform? Trong winform mình có thể khai báo biến toàn cục và có thể khai báo để dùng biến đó khi máy tính đó tắt và khi mở lên lại biết đó vẫn còn.
 
Upvote 0
Bạn đang nói webform? Trong winform mình có thể khai báo biến toàn cục và có thể khai báo để dùng biến đó khi máy tính đó tắt và khi mở lên lại biết đó vẫn còn.
À... khi nói tới biến là người ta ám chỉ là cái gì lưu nhớ trong RAM. Phải tôi hiểu thiếu xót chăng?
 
Upvote 0
À... khi nói tới biến là người ta ám chỉ là cái gì lưu nhớ trong RAM. Phải tôi hiểu thiếu xót chăng?

Theo như lý thuyết là thế, biến sẽ được lưu trong ram, và nó sẽ mất đi khi máy tính tắt, nhưng nhiều lúc ta cần có những biến mà không mất đi khi tắt máy.
 
Upvote 0
Theo như lý thuyết là thế, biến sẽ được lưu trong ram, và nó sẽ mất đi khi máy tính tắt, nhưng nhiều lúc ta cần có những biến mà không mất đi khi tắt máy.
Chắc anh nâng tầm ý niệm về biến mất rồi... Tôi chỉ coi đây là thông số được giữ lại cho các hoạt động sau và thông số này cũng phải nạp vào 1 biến hoặc 1 hình thức nào đó phải nằm trong RAM
 
Upvote 0
Chắc anh nâng tầm ý niệm về biến mất rồi... Tôi chỉ coi đây là thông số được giữ lại cho các hoạt động sau và thông số này cũng phải nạp vào 1 biến hoặc 1 hình thức nào đó phải nằm trong RAM
Nó giống như cái file ví dụ của tôi gửi dưới đây. Bạn test hộ nhé.
 

File đính kèm

Upvote 0
Tôi xin phép miễn được download ví dụ, nhưng như tôi đã nói biến là thứ tồn tại trong RAM. Dù là biểu hiện ở hình thức nào đi chăng nữa khi một biến được sử dụng đồng nghĩa với việc nó chiếm lấy 1 phần của RAM.
 
Upvote 0
Tôi chỉ quen nói một vài lời rồi dừng lại khi cảm thấy tranh luận thêm chỉ tổ rát họng. Cùng lắm thì chứng tỏ là mình "giỏi", chả đóng góp gì cho ai cả.

Bây giờ tôi trở lại nói theo tinh thần đóng góp như sau:

Ý chính của tôi là: nếu cần xài thì nên tránh phiên bản 2008 vì nó quá cũ rồi. Và tôi cũng có nêu ra sự cũ kỹ của nó trong ứng dụng VSTO. Với lý do này thì 2010 đủ xài rồi. Đối với các bạn muốn theo mới thì nên bỏ qua 2012 mà chơi luôn 2013, nếu máu hơn chút nữa thì xài phiên bản thử nghiệm 2015.
 
Upvote 0
đến bao giờ mình có thể viết được như HLMT vậy ta .......cố giắng 10 năm nữa hỏng biết có được chăng

Thật ra thì mình lưu nó trong ổ cứng thôi, về cơ chế hoạt động thì nó giống như biến thôi, mà theo lý thuyết về biến thì biến sẽ được lưu trong ram chứ không ổ cứng.
Mình là dân không chuyên, chỉ mới vọc thôi bạn. Chưa chắc kiến thức của mình bằng bạn đâu.
 
Upvote 0
Mình có sưu tầm được một số Function sau có liên quan tới Excel mà chưa hiểu Lắm ....
Có lẻ là câu hỏi ngớ ngẩn....... khà khà.....

1/ ActiveWorkbook

PHP:
Private Function GetActiveWorkbook() As Excel.Workbook
     ExcelApp.ActiveWorkbook
End Function

2/ Lấy đường dẫn File
PHP:
Private Function GetFullPath(wb As Excel.Workbook)
     wb.FullName
End Function

3/ Path
PHP:
Private Function GetPath(wb As Excel.Workbook) As String
     wb.Path
End Function
 
Lần chỉnh sửa cuối:
Upvote 0
HI các anh
Em là dân kỹ thuật nên cũng ngoại đạo về mảng lập trình. em đang có một thắc mắc nho nhỏ như này, em đang dự định học C# hoặc VBA for Excel. Nhưng em nghe nói là nếu học được C# thì có thể thay thế được VBA for Excel? em thấy chưa hợp lý lắm, VBA for Excel em muốn biết vì các phần mềm tính hầu hết đều có thể xuất dữ liệu ra Excel sau đó mình can thiệp vào và đưa dữ liệu ra, vào phần mềm khác? Còn C# em muốn học vì em muốn lập trình viết Add-in cho một số phần mềm như Revit?

Mong các anh chỉ giáo cho em hiểu hơn!

Em cảm ơn nhiều!
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom