Ứng dụng lập trình VSTO

Liên hệ QC
Quan điểm cá NHÂN Mạnh nghĩ vầy nè:

1/ Nếu ta viết Add-ins thì viết các hàm phổ thông nhất vào File *.xll ... VD như: DocSo … vvv thì khi ta xài trên Sheet chỉ việc gõ vào Cells = DocSo() là xài ok ...
Còn nếu ta viết một cái phần mềm chạy nền Excel thì thấy rất bất tiện khi xài lại các Hàm đã viết trong đó

2/ Khi viết Add-ins như VnTools đó thì cũng vậy chỉ xài những code chung nhất như loại dấu tiếng việt … ngày tháng vvv nhưng có điều nó sẻ áp dụng cho toàn bộ file Excel kể cả file mới tinh mở lên vì nó tích hợp luôn vào Office Excel

Vậy nếu Mạnh viết thêm một cái phần mềm nhúng trong Excel thì cũng ko thể tận dụng lại các hàm đã viết trong đó (chưa thử phán bạy vậy he )
nếu xài được các hàm đó đi nữa thì khai báo nó cũng rất dài dòng … và nó thêm 1 Tab Menu trên đó vô tình bấm tầm bạy cái nó xóa hay làm sai dữ liệu trên cells vv ...

3/ Ý Mạnh là cho dù xài tools gì viết đi nữa khi ta vẫn lấy Excel chạy nền thì nên viết 1 cái thư viện Hàm *.dll chuẩn API thì khi đó ta viết Add -Ins hay cái chi đó thì ta có thể xài lại các hàm chuẩn đó trong thư viện không phải mất công viết thêm nữa mà chỉ làm thủ tục gọi hàm là ok nhất

4/ Mạnh thì rất mê Delphi …. Vì chỉ viết 1 code duy nhất ta có thể Build chạy cho đa nền tảng 32bit, 64 bit, IOS, mac ….
và Manh vẫn còn mê Excel và viết úng dụng chạy trên nó thì xài lại các hàm đã viết trong đó là 1 điều tuyệt vời nhất kể cả viết Add -ins cũng vẫn xài lại ok … tốc độ truy xuất rất nhanh

5/ @giaiphap thử viết thật nhiều code vào file *.xll và Vntools xem xong mở 1 file Excel mới lên xem nó load quay tròn quay tròn mãi mới lên à
còn load code file *.dll khi mở 1 ứng dụng Excel lên nó bay cái vèo …. còn mở file mới lên xem lại càng bay vèo vèo … vì nó không phải C.ò.n.g lưng C.ỏ.n.g 2 cái ứng dụng kia nữa

1 vài ý theo cá nhân Mạnh là vậy đó hên thì phán trúng … trật cho qua he -0-0-0-===\.
Tôi cũng chỉ mới nghiên cứu về VSTO thôi nên cũng chưa đủ trình độ phán xét hay so sánh giữa c# và delphi chỉ thấy rằng tìm kiếm thông tin về c# thì có rất nhiều kết quả là tiếng việt, trong khi delphi thì toàn tiếng anh (nên nghĩ rằng chắc người việt ít dùng đến). Nên tìm hiểu về c# sê nhanh hơn delphi, còn việc test code thì cũng chỉ viết số lượng ít nên chưa thử như bạn nói, nhưng rõ ràng như bạn nói là file xll có dung lượng nhiều thật mặc dù chỉ vài dòng code.
 
Đêm qua tính ngâm cứu cái vụ này theo 2 hướng là netOffice và ExcelDna mà mãi chả hiểu o_O. Thử demo của NetOffice chạy rất hay nhưng mà chả thấy nó nhắc đến cái Addin nào(? ) thế là chuyển hướng qua ExcelDna nhưng mà cũng bó tay với mấy demo down về.

Cái sui của mình là mình không dùng bộ Visual Studio (VS) như nhiều người vì nó quá nặng kể cả bản Express(bản free). Mình thì lại xài con IDE Sharpdevelop cùi (bộ cài đặt size chưa bằng 1/10 VS) đâm ra không có bất kỳ hướng dẫn thực hiện nào trên internet vì toàn hướng dẫn cho VS.

May sao đúng chiều nay thu được kết quả nhờ tìm ra cái tài liệu trong thư mục ExcelDna\Distribution của nó (Excel-DNA - Step-by-step C# add-in.doc) và tập trung vô được liên tục:victory:. Theo hướng dẫn của tài liệu và tự chính bản thân trải nghiệm mình rút ra vài điểm cơ bản:
  • Trong một một class project "tengido" cần tối thiểu các file (phải tự thêm thủ công nhé):
    1. Class-gido.cs chứa code của class cùng các hàm mà bạn sẽ viết cho Excel.
    2. tengido.dna (bật chọn copy ra thư mục output)
    3. tengido.xll được copy từ file mẫu ExcelDna.xll trong thư mục "ExcelDna\Distribution" đổi tên lại. (bật chọn copy ra thư mục output)
    4. ExcelDna.Integration.dll (thư viện Dna) và ExcelDnaPack.exe đặt trong thư mục Debug nếu như bạn cần Packed (nếu không packed thì khỏi).
  • Bạn cũng buộc phải references thủ công ExcelDna.Integration.dll cho dù có copy nó vô thư mục project roài.
  • File đuôi dna khá đặc biệt vì ngoài thông tin về thư viện, chúng ta còn có thể nhúng module viết bằng VBA và nếu bổ sung thêm code VBA cứ kích hoạt file tengido.xll thì module này được nạp mà không cần biên dịch lại .:victory:
  • ExcelDna có công cụ đóng gói ExcelDnaPack.exe sinh ra file tengido-packed.xll được quảng cáo là "Both FirstAddIn.dna and MyLibrary.dll are packed inside the .xll as resources, and will be loaded at runtime." nhưng thực tế thì ứ phải (tối thiểu phải có tengido.dll cùng với tengido.xll).
  • Được cái file tengido-packed.xll nhỏ hơn chục kg so với file mẫu ExcelDna.xll nhưng nó lại không có khả năng tự cập nhật module VBA từ file dna như bản copy từ ExcelDna.xll gốc.
Trong tài liệu đi kèm ExcelDna còn giới thiệu một số cái hay mà tiếc trình Inh ních mình không thể hiểu sao cho đúng :unknw::

Hiện mình chỉ mới viết được hàm cho Excel bằng C# còn ribon hay gì đó mình chưa biết nên chắc không góp thêm gì vui. Hy vọng vài kinh nghiệm này sẽ cho các bạn thêm thông tin khi viết dll bằng C# cho Excel.
 
Lần chỉnh sửa cuối:
Ai có hứng Tự Tạo Addin Xll cho Excel với Visual Studio và VBNet ... thì xem video sau he
Hướng dẫn xài ExcelDna đó he .... nó chỉ ngắn gọn có mấy từ sau à ... coi video tinh mắt dòm khi họ paste dòng sau he
Mã:
Install-Package Excel-DNA
 
Còn đây là cách viết cho C#.
1. Tạo mới dữ án C# như hình dưới.
H1.png
2. Nhấp chuột phải vào Class1.cs sau đó chọn Rename, gõ tên mới và nhấn Enter, nháy Yes (đổi tên Class thành FuncVBA, hoặc tên tùy ý theo ý mình, Xem hình).
H2.png
3. Cài thư viện cho C# (Nếu máy đã cài rồi thì có thể bỏ qua bước này và bước 4, nếu chưa có thì tải file này ở đây) bằng cách mở Explorer lên và chọn file exceldnadoc.0.2.3.nupkg (file mới tải về) nhấp chuột phải và chọn lệnh Copy.
Trở lại dữ án C# và vào Menu Tools --> Library Package Manager --> Package Manager Settings.
H3.png
4. Sau đó thực hiện các bước như hình.
H4.png
5. Cập nhật thư hiện bằng cách vào menu Tools --> Library Package Manager --> Package Manager Console
H5.png
6. Trên cửa sổ dòng lệnh sau PM> gõ dòng lệnh Install-Package ExcelDnaDoc -Version 0.2.3 và nhấn Enter
H6.png
7. Cũng trên dòng lệnh đó gõ tiếp lệnh Install-Package ExcelDna.AddIn và nhấn Enter.
H7.png
8. Cũng trên dòng lệnh đó gõ tiếp lệnh Install-Package ExcelDna.Registration và nhấn Enter.
H8.png
9. Nháy chuột vào Class.cs (Cụ thể là FuncVBA đã đặt tên ở bước 2) và sửa lại code trong Class này như sau:
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HamVBA
{
    using ExcelDna.Integration;
    public class FuncVBA
    {
        [ExcelFunction(Name = "VnSum",
                        Description = "Hàm tính tổng của 2 số thực",
                        HelpTopic = "DocTest-AddIn.chm!1002")]//Tên File Help nếu có
        public static double VnSum(
            [ExcelArgument(Description = "Giá trị thứ nhất là số thực\nCó thể chọn địa chỉ của ô tính")] double SoA,
            [ExcelArgument(Description = "Giá trị thứ hai cũng là số thực\nCó thể chọn địa chỉ của ô tính")] double SoB)
        {
            return SoA + SoB;
        }
    }
}
10. Nhấn F5 để chạy.
11. Vào Excel chọn một ô và nháy nút Fx và thực hiện các bước như hình.

H9.png
12. Gõ các tham số cho hàm và nháy Ok.
H10.png
13. Đóng Excel lại, Mở Menu Project --> HamVBA Properties.
H11.png
14. Nháy vào thẻ Debug và xem file xll đã được tạo ra.

15. Mở Explorer và tìm thư mục chứa Project và chọn thư mục HamVBA --> Bin --> Debug có chứa các tệp tin được tạo ra trong có có têp *.xll.
uc

16. Copy tệp tin xll (Ở đâu là Tệp HamVBA-AddIn.xll) này đến máy tính bất kỳ và sử dụng thôi.
17. Mở Excel và vào File  Options và thực hiện như hình để chèn file xll vào file Excel là dùng.
uc
 
Có vẻ thấy nó dài dòng hơn cái video bài 23 @giaiphap nhỉ
Nhưng thấy C# có vẻ cao cấp hơn VB
Quen Code VB thấy Code C# cũng rắc rối quá
Mã:
private void button2_Click(object sender, EventArgs e)
        {
            try
            {
            Excel.Range ActiveCell = Globals.ThisAddIn.Application.Selection as Excel.Range;
            string KyTu = char.ConvertFromUtf32(34);

            if (ActiveCell != null)
            {
                ActiveCell.NumberFormat = KyTu + "Tân Bình, ngày " + KyTu + "  dd  " + KyTu + " tháng " + KyTu + " MM " + KyTu + " năm " + KyTu + " yyyy";
                foreach (Excel.Range sCell in ActiveCell)
                {
                    sCell.Value2 = DateTime.Now.ToUniversalTime().AddHours(7);
                    //sCell.Value2 =String.Format("{0:dd/MM/yyyy}", DateTime.Now.ToUniversalTime().AddHours(7));
                }
            }
            this.Close();
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Đã có lỗi xảy ra");
            }

Mã:
namespace VnToolsAddIns
{
    public partial class MyRibbon
    {
        private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
        {

        }
        public static string RemoveUnicode(string text)
        {
            string[] arr1 = new string[] { "á", "à", "ả", "ã", "ạ", "â", "ấ", "ầ", "ẩ", "ẫ", "ậ", "ă", "ắ", "ằ", "ẳ", "ẵ", "ặ", 
    "đ", 
    "é","è","ẻ","ẽ","ẹ","ê","ế","ề","ể","ễ","ệ", 
    "í","ì","ỉ","ĩ","ị", 
    "ó","ò","ỏ","õ","ọ","ô","ố","ồ","ổ","ỗ","ộ","ơ","ớ","ờ","ở","ỡ","ợ", 
    "ú","ù","ủ","ũ","ụ","ư","ứ","ừ","ử","ữ","ự", 
    "ý","ỳ","ỷ","ỹ","ỵ",};
            string[] arr2 = new string[] { "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", 
    "d", 
    "e","e","e","e","e","e","e","e","e","e","e", 
    "i","i","i","i","i", 
    "o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o","o", 
    "u","u","u","u","u","u","u","u","u","u","u", 
    "y","y","y","y","y",};
            for (int i = 0; i < arr1.Length; i++)
            {
                text = text.Replace(arr1[i], arr2[i]);
                text = text.Replace(arr1[i].ToUpper(), arr2[i].ToUpper());
            }
            return text;
        }
        private void bnt_Click(object sender, RibbonControlEventArgs e)
        {
            try
            {
                Excel.Worksheet ActiveWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
                Excel.Range ActiveCell = Globals.ThisAddIn.Application.Selection; //Globals.ThisAddIn.Application.ActiveCell;


                if (ActiveCell != null)
                {
                    //string aValue = ActiveCell.Value2;
                    //string sText = ActiveCell.Text;

                    //ActiveCell.Text = sText.ToUpper();
                    //System.Windows.Forms.MessageBox.Show(sText.ToUpper() + " - " + ActiveCell.Cells.Count);
                    //ActiveCell.Offset[0,1].Value2=sText.ToUpper();
                    foreach (Excel.Range sCell in ActiveCell.SpecialCells(Excel.XlCellType.xlCellTypeConstants))
                    {
                        if (sCell.Text != "")

                            sCell.Value2 = sCell.Text.ToUpper();
                    }
                }
            }
            catch
            {
                System.Windows.Forms.MessageBox.Show("Đã có lỗi xảy ra");
            }
        }
 
Lần chỉnh sửa cuối:
Quen Code VB thấy Code C# cũng rắc rối quá
Học C# mà đi làm mấy cái AddIns cho Excel thì phí quá
Nói chung nếu các bạn có nhu cầu làm việc online trên internet, dữ liệu trao đổi nhiều người cùng lúc... hoặc làm việc trên mobile... vân... vân... thì hãy nghĩ đến C#. Nó đa năng chứ hổng phải có thế thôi đâu
Mạnh học C# để tự làm riêng cho mình một trang web bán hàng là hợp lý đó
 
Học C# mà đi làm mấy cái AddIns cho Excel thì phí quá
Nói chung nếu các bạn có nhu cầu làm việc online trên internet, dữ liệu trao đổi nhiều người cùng lúc... hoặc làm việc trên mobile... vân... vân... thì hãy nghĩ đến C#. Nó đa năng chứ hổng phải có thế thôi đâu
Mạnh học C# để tự làm riêng cho mình một trang web bán hàng là hợp lý đó
Rất muôn màu muôn vẻ, ăn thua ý tưởng của mình là gì thôi. Ví dụ hồi xưa em suy nghĩ Excel thì làm sao có thể gửi tính hiệu qua cổng COM để điều khiển thiết bị. Tuy nhiên giờ thì chuyện này không quá khó bởi lẽ VB.Net nó sẽ bổ sung cho Excel những cái mà mình cần. Anh @Nguyễn Duy Tuân đã từng giới thiệu Delphi có thể điều khiển thiết bị thì VB.Net cũng có thể làm được.
 
Mình thấy tất cả ngôn ngữ lập trình hiện đại (Bộ ngôn ngữ Visual Studio .NET, bộ ngôn ngữ RAD Studio = Delphi + C++ Builder ) đều làm tốt tất cả mọi việc can thiệp vào tài nguyên máy tính, thiết bị phần cứng. Kể cả VBA có thể làm được chỉ là hơi đuối do code nằm sống bên trong Excel - nó là ứng dụng nhúng trong một Application, giới hạn về bộ nhớ do Excel chỉ định phạm vi sử dụng và cả vấn đề multi thread.

Nói về ngôn ngữ VB.NET hay C#.NET thì thực ra mức độ can thiệp là như nhau hoàn toàn. Hai trong số bộ ngôn ngữ .NET này đều khai thác chung bộ thư viện khổng lồ là Framework.NET. Khi chúng ta đã thuần thục những ngôn ngữ lập trình hiện đại này thì định hướng các bạn sẽ muốn làm phần mềm độc lập chứ không phải chỉ làm ứng dụng nhúng (add-in), trừ phi có cái gì đó thật thú vị hoặc buộc phải làm. Khi làm ứng dụng độc lập trình với CSDL chính lại không còn là Excel mà chủ yếu như SQL Server, MySQL,... Với các phần mềm liên quan đến CSDL mà tôi vừa liệt kê thì tốc độ bây giờ không phải là ngôn ngữ lập trình (xét trong phạm cùng họ .NET) làm ảnh hưởng, mà lại là cách viết câu lệnh SQL tối ưu với loại CSDL. Các phần mềm quan trị mình viết thì có lẽ 3/4 code là kiến thức của SQL.
Vậy nên tôi nghĩ các bạn chọn .NET thì coi như VB.NET hay C# là như nhau mặc dù đâu đó vẫn có nhóm đem đi so sánh tốc độ. Nhưng việc so sánh đều phải có phạm vi so sánh thì mới đúng, và trong phạm vi phần mềm quản trị có dùng CSDL/SQL thì không phải lo lắng đâu.
 
...
Nhưng thấy C# có vẻ cao cấp hơn VB
Quen Code VB thấy Code C# cũng rắc rối quá
...
Ngược lại. Tôi quen với C, qua C# dễ dàng nhưng gặp VB bị gò bó hơi nhiều.
Chuyện "cao cấp" thì còn tùy theo quan điểm.
Nói chung, bạn muốn đi vào nơi này thì tốt hơn hết nên học cho kỹ lý thuyết về Hướng Đối Tượng. Nếu không hiểu tận HĐT thì code của bạn chỉ là cưỡi ngựa xem hoa.

...
Vậy nên tôi nghĩ các bạn chọn .NET thì coi như VB.NET hay C# là như nhau mặc dù đâu đó vẫn có nhóm đem đi so sánh tốc độ. Nhưng việc so sánh đều phải có phạm vi so sánh thì mới đúng, và trong phạm vi phần mềm quản trị có dùng CSDL/SQL thì không phải lo lắng đâu.
C# được ra để chọi với Java (*). Microsoft viết nó từ con số không. VB (dot net) là tiếp nối truyền thống. Microsoft bắt buộc phải đi từ VB6
Vì vậy C# đi sát với hướng đối tượng trong khi VB phải bẻ cong uốn nắn để thực hiện hướng đối tượng. (VBA thì khỏi nói luôn vì nó không phải HĐT)
Khái niệm lambda là tự nhiên đối với C#, nhưng với VB thì nó khá gượng ép.

(*) Nếu bạn đọc tài liệu về C# sẽ thấy chính Microsoft nói rằng C# gần với Java hơn cả C++

...
Mạnh học C# để tự làm riêng cho mình một trang web bán hàng là hợp lý đó
C# có hai đường lối. Winform và Webform. Nếu muốn làm Webform thì thà đi luôn qua MVC (Model View Controller) quách cho nó xịn.
 
Nhờ các bạn xem giúp, minh thử viết lại code trong C# để tao file dll, nhưng khi chạy bao lỗi. K biết khi lập trình vớI C# cần thêm thư viện gì nữa k ( mình sử dụng excel 2016)
 

File đính kèm

  • ClassLibrary3.rar
    2.3 MB · Đọc: 14
  • Capture.JPG
    Capture.JPG
    26.7 KB · Đọc: 11

File đính kèm

  • ClassLibrary3.rar
    4.3 MB · Đọc: 25
To @giaiphap hôm rồi Mạnh có coi cái Video trên Facebook của GPE ... thấy người ta keo coi code C# dễ như ăn kẹo đó he
Mạnh thấy người ta nói sao nói vậy chứ Mạnh ko biết chi mô đó he ... có chi vui vẻ chứ Mạnh ko phán bạy
cái câu "dễ như ăn kẹo" là Mạnh cảm giác đó he còn người ta ko nói vậy ?!
Facebook
https://www.facebook.com/groups/GPEVN/permalink/1874640442591865/
Video
 
Lần chỉnh sửa cuối:
Hầu hết mọi phần mềm đều có thể dịch ngược ra mã gốc với ngôn ngữ lập trình ra nó kể cả Delphi (mới tình cờ thấy Delphi là chuột bạch trên Youtube độ mấy tuần trước) chứ chả riêng gì C#. Bởi vậy mới lại phát sinh ra công nghệ chống dịch ngược. Công nghệ này mà áp dụng với .Net thì dịch tới dịch lui thì đếch ra cái gì với công nghệ có tính phí. Họ có can thiệp vô cái assembly gì đó (theo 1 anh kinh nghiệm) mà ko thể nào bung ra cấu trúc chương trình.

Với bản free thì cấu trúc rồ déc phơi bày ra nhưng cũng phải đọc lòi con mắt với ô vuông hay chữ tàu. Đơn giản, chỉ cần dùng phần mềm rối hóa mở file biên dịch rồi bấm nút là nó ra 1 file đánh đố mấy ông táy máy. :whistling:

Cái này chính tự bản thân tôi trải nghiệm lâu rồi nên mới dám nói.
 
Lần chỉnh sửa cuối:
To @giaiphap hôm rồi Mạnh có coi cái Video trên Facebook của GPE ... thấy người ta keo coi code C# dễ như ăn kẹo đó he
Mạnh thấy người ta nói sao nói vậy chứ Mạnh ko biết chi mô đó he ... có chi vui vẻ chứ Mạnh ko phán bạy
cái câu "dễ như ăn kẹo" là Mạnh cảm giác đó he còn người ta ko nói vậy ?!
Facebook
https://www.facebook.com/groups/GPEVN/permalink/1874640442591865/
Video
View attachment 205899
Cảm ơn bạn, thật ra cũng chẳng cần quan tâm gì đến việc người khác xem code đâu (Code chủ yếu là học hỏi từ những thành viên khác thôi, có khi nó chẳng ra gì đối với người khác). Mình chỉ muốn có một mục tiêu nhất định để học C# thôi, chứ tự nhiên học mà không có mục đích cũng chán phéo, nó là một động lực để mình học hỏi thôi. Mà mấy hôm nay không có thời gian rảnh nên cả tuần nay chẳng làm được gì cả, sẳn tiện @kieu manh test xem cái file setup này có chạy được trên máy của bạn có chạy hay không? File Add-Ins này chưa hoàn chỉnh chỉ có một số cái thôi mạnh test thử dùm xem nó có chạy được không nhé
Thấy cái Delphi bạn nghiên cứu dữ quá, mong bạn sớm đạt được mục đích.
https://drive.google.com/file/d/1kl9S3SY2PcGI0nLmPyaGsDSIWCo1gMXb/view?usp=sharing
 
Cảm ơn bạn, thật ra cũng chẳng cần quan tâm gì đến việc người khác xem code đâu (Code chủ yếu là học hỏi từ những thành viên khác thôi, có khi nó chẳng ra gì đối với người khác). Mình chỉ muốn có một mục tiêu nhất định để học C# thôi, chứ tự nhiên học mà không có mục đích cũng chán phéo, nó là một động lực để mình học hỏi thôi. Mà mấy hôm nay không có thời gian rảnh nên cả tuần nay chẳng làm được gì cả, sẳn tiện @kieu manh test xem cái file setup này có chạy được trên máy của bạn có chạy hay không? File Add-Ins này chưa hoàn chỉnh chỉ có một số cái thôi mạnh test thử dùm xem nó có chạy được không nhé
Thấy cái Delphi bạn nghiên cứu dữ quá, mong bạn sớm đạt được mục đích.
https://drive.google.com/file/d/1kl9S3SY2PcGI0nLmPyaGsDSIWCo1gMXb/view?usp=sharing
Mới thử cho bạn xong mạnh Úp mấy hình đó nha
Load Add-Ins.PNGIntals.PNGOK.PNG

Mạnh có mấy ý vầy:
1/ Bạn hay Test File *.exe hay phần mềm khác thì nên cài một cái máy Ảo ... cài xong Copy cái máy ảo đó lưu ra một nơi khác khoãng 3G To 4G gì đó
Mục đích là khi mình quậy cái máy ảo đó nó lỗi linh tinh hết thì xóa cái Folder máy ảo đó đi xong copy cái đã lưu trước Paste và chính nơi cũ
vậy là lại có cái máy ảo mới tinh như cái thở ban đầu mà xài

2/ Thực chất mấy file đó chỉ cần copy là xài ok như bài trước Mạnh thử có nói đó ... Hay ta làm bằng WinRaR.exe nó giải nén vào Folder cài đặt xong nó tự chạy chạy cái File VB đó là ok

3/ Mạnh nói thật là rất dị ứng phải cài bất cứ cái gì là File *.exe vào máy ... có điều Bạn nhờ thì Mạnh Test dùm cho vậy ... hahahaha

4/ khi mở lên 1 file trắng tinh nó load rất lâu ?!

5/ Chốt lại như vậy là rất OK đó ... cứ thế mà phát triển code thêm nhé
 
Mới thử cho bạn xong mạnh Úp mấy hình đó nha
View attachment 205935View attachment 205936View attachment 205937

Mạnh có mấy ý vầy:
1/ Bạn hay Test File *.exe hay phần mềm khác thì nên cài một cái máy Ảo ... cài xong Copy cái máy ảo đó lưu ra một nơi khác khoãng 3G To 4G gì đó
Mục đích là khi mình quậy cái máy ảo đó nó lỗi linh tinh hết thì xóa cái Folder máy ảo đó đi xong copy cái đã lưu trước Paste và chính nơi cũ
vậy là lại có cái máy ảo mới tinh như cái thở ban đầu mà xài

2/ Thực chất mấy file đó chỉ cần copy là xài ok như bài trước Mạnh thử có nói đó ... Hay ta làm bằng WinRaR.exe nó giải nén vào Folder cài đặt xong nó tự chạy chạy cái File VB đó là ok

3/ Mạnh nói thật là rất dị ứng phải cài bất cứ cái gì là File *.exe vào máy ... có điều Bạn nhờ thì Mạnh Test dùm cho vậy ... hahahaha

4/ khi mở lên 1 file trắng tinh nó load rất lâu ?!

5/ Chốt lại như vậy là rất OK đó ... cứ thế mà phát triển code thêm nhé
Cảm ơn bạn đã chia sẻ.
1. Để mình dùng thử máy ảo, bạn có thể giới thiệu cho mình phần mềm nào tạo máy ảo chạy ổn hiện nay không, mình dùng virtualbox thấy nó hay bị lỗi quá. Trước giờ vọc khoảng 1, 2 tháng gì là cài lại máy mất công quá.
2. Cái này chỉ nghe bạn nói chứ chưa thấy, sao mình copy sang máy khác mở file Excel_Add-Ins.vsto nó không mở được còn đăng ký với Excel bằng Com Add-Ins thì nó lại không cho, vậy bạn có project mẫu chia sẻ mình tham khảo với hoặc có link nào chỉ để mình nghiên cứu cũng được.
3. Định tạo thử file exe cho mạnh test dùm luôn, một công đôi việc.
4. Cái này mình cũng thấy nhưng không biết khắc phục bằng cách nào, chắc có lẽ như lần trước Mạnh nói là file VSTO quá lớn nên nó Load chậm.
5. Cũng đang nghiên cứu nè, mới tìm hiểu nên viết code chạy được trên excel cũng mừng lắm rồi.
Một lần nửa cảm ơn bạn, rất mong nhận được góp ý có giá trị từ bạn Mạnh, thân!
 
Cảm ơn bạn đã chia sẻ.
1. Để mình dùng thử máy ảo, bạn có thể giới thiệu cho mình phần mềm nào tạo máy ảo chạy ổn hiện nay không, mình dùng virtualbox thấy nó hay bị lỗi quá. Trước giờ vọc khoảng 1, 2 tháng gì là cài lại máy mất công quá.
2. Cái này chỉ nghe bạn nói chứ chưa thấy, sao mình copy sang máy khác mở file Excel_Add-Ins.vsto nó không mở được còn đăng ký với Excel bằng Com Add-Ins thì nó lại không cho, vậy bạn có project mẫu chia sẻ mình tham khảo với hoặc có link nào chỉ để mình nghiên cứu cũng được.
3. Định tạo thử file exe cho mạnh test dùm luôn, một công đôi việc.
4. Cái này mình cũng thấy nhưng không biết khắc phục bằng cách nào, chắc có lẽ như lần trước Mạnh nói là file VSTO quá lớn nên nó Load chậm.
5. Cũng đang nghiên cứu nè, mới tìm hiểu nên viết code chạy được trên excel cũng mừng lắm rồi.
Một lần nửa cảm ơn bạn, rất mong nhận được góp ý có giá trị từ bạn Mạnh, thân!
Thử cái sau xem trước đây mạnh xài thấy ok đó
VMware - Tạo máy ảo trên PC
https://www.google.com.vn/search?q=...PC&aqs=chrome..69i57&sourceid=chrome&ie=UTF-8
 
Hầu hết mọi phần mềm đều có thể dịch ngược ra mã gốc với ngôn ngữ lập trình ra nó kể cả Delphi (mới tình cờ thấy Delphi là chuột bạch trên Youtube độ mấy tuần trước) chứ chả riêng gì C#. Bởi vậy mới lại phát sinh ra công nghệ chống dịch ngược. Công nghệ này mà áp dụng với .Net thì dịch tới dịch lui thì đếch ra cái gì với công nghệ có tính phí. Họ có can thiệp vô cái assembly gì đó (theo 1 anh kinh nghiệm) mà ko thể nào bung ra cấu trúc chương trình.

Với bản free thì cấu trúc rồ déc phơi bày ra nhưng cũng phải đọc lòi con mắt với ô vuông hay chữ tàu. Đơn giản, chỉ cần dùng phần mềm rối hóa mở file biên dịch rồi bấm nút là nó ra 1 file đánh đố mấy ông táy máy. :whistling:

Cái này chính tự bản thân tôi trải nghiệm lâu rồi nên mới dám nói.

Nhờ bạn gửi link video hoặc tên pm dịch ngược được Delphi ra ngôn ngữ gốc nhé. Mình mong ước mua đc phần mềm này để lấy lại mã nguồn đã mất :)
 
Nhờ bạn gửi link video hoặc tên pm dịch ngược được Delphi ra ngôn ngữ gốc nhé. Mình mong ước mua đc phần mềm này để lấy lại mã nguồn đã mất :)
Bác thử tìm trong này nhé. Thực lòng tôi có tra lại history nhưng vô vọng vì quá nhiều link. Cái đó giống Ilspy nhưng tôi mở ra thì không phải.
 
Web KT
Back
Top Bottom