Chúng ta có thể sử dụng javascript trong excel không?

Tại hội nghị Ignite của mình, Microsoft hôm nay đã công bố một bản cập nhật cho Excel mang API JavaScript mới cho ứng dụng bảng tính đáng kính. Với API mới này, các nhà phát triển sẽ có thể tạo các loại dữ liệu và chức năng tùy chỉnh dựa trên chúng

Trong vài năm qua, Excel đã bắt đầu thêm một số loại dữ liệu mới, cho phép người dùng lấy dữ liệu kho hàng và địa lý từ đám mây lúc đầu, sau đó là việc bổ sung các loại dữ liệu Power BI và Power Query — cho phép người dùng . Giờ đây, các nhà phát triển có thể tiến thêm một bước bằng cách tạo các loại dữ liệu tùy chỉnh phù hợp với tổ chức của họ

“Khách hàng sẽ có thể tạo phần bổ trợ của riêng họ và mở rộng phần bổ trợ hiện có trước đó để tận dụng các loại dữ liệu, dẫn đến trải nghiệm thế hệ tiếp theo, tích hợp hơn trong Excel,” Microsoft giải thích trong tài liệu báo chí của mình. “Họ có thể chia sẻ các loại dữ liệu này trong toàn tổ chức và tạo các phần bổ trợ hoặc giải pháp kết nối các loại dữ liệu với dịch vụ hoặc dữ liệu của riêng họ. API trao quyền cho người dùng và nhà phát triển, cho phép họ tổ chức, truy cập và làm việc với dữ liệu của họ tốt hơn. ”

Microsoft không thích VBA trong Microsoft Office và muốn loại bỏ nó (tôi không bao giờ chắc tại sao). Bây giờ họ đang cắn miếng thứ hai của quả anh đào (khó tiêu) này. Hai vết cắn là

BiteNotesVisual Studio Tools cho OfficeVSTO đã được giới thiệu tại một hội chợ cách đây vài năm và chúng tôi tự hào công bố một khóa học trong đó, tin rằng điều này cuối cùng sẽ cho phép mọi người phát triển các ứng dụng dựa trên Microsoft Office. Chúng tôi chưa bao giờ nhận được một yêu cầu nào về khóa học này và nó chưa bao giờ chạy. JavaScript cho OfficeOffice-js đã dần được cải thiện trong vài năm qua. Điểm hấp dẫn lớn là trong khi VBA chỉ hoạt động cho Microsoft Office trên Windows hoặc Mac, JavaScript sẽ hoạt động cho các phiên bản Excel chạy trên web, điện thoại hoặc máy tính bảng của bạn

Vậy điều gì không thích về JavaScript dành cho Office? . Blog này liệt kê 3 lý do thực sự tốt để không bận tâm học JavaScript cho Office trừ khi bạn thực sự phải học

Để tiết lộ đầy đủ, tôi có thể thấy một lý do tại sao bạn có thể muốn học JavaScript cho MS Office. nó được hỗ trợ trong OneNote, mà VBA thì không

Lý do 1 - Chi phí thiết lập và triển khai

Bạn muốn viết một chương trình bằng VBA trong Excel?

  1. Mở Excel
  2. Nhấn Alt + F11
  3. Bắt đầu viết mã
  4. Chạy macro của bạn để kiểm tra chúng bằng cách nhấn F5
  5. Lưu sổ làm việc của bạn dưới dạng tệp hỗ trợ macro
  6. Gửi nó ra thế giới

Bạn muốn phát triển bằng JavaScript cho MS Office?

Những thứ bạn cầnGhi chúMôi trường phát triểnNếu bạn là nhà phát triển của Microsoft, bạn nên sử dụng Visual Studio làm IDE (Môi trường phát triển tích hợp) của mình. Phiên bản Cộng đồng được cung cấp miễn phí, mặc dù bạn sẽ phải nhận được sự đồng ý của bộ phận CNTT để cài đặt phiên bản này. Nút. jsBạn có thể sử dụng JavaScript hoặc ngôn ngữ TypeScript của Microsoft để tạo phần bổ trợ Office của mình, nhưng đối với cả hai, bạn sẽ cần cài đặt khung tệp này để cho phép bạn tạo chương trình của mình. Trình tạo YeomanĐiều này hơi giống trình hướng dẫn, cho phép bạn tạo phần bổ trợ Office dễ dàng hơn

Vì vậy, tôi đã cố gắng làm điều này. Cuối cùng, tôi phải chạy một chương trình từ dòng lệnh của mình, chương trình này đã tạo ra hàng loạt thông báo trước khi treo máy.  

Ngay cả khi bạn đã cài đặt ở trên, bạn vẫn còn một chặng đường dài phía trước, vì hướng dẫn bắt đầu nhanh của Microsoft được đặt tên sai này cho thấy. Và đừng để tôi bắt đầu đóng gói các ứng dụng đã hoàn thành của bạn và triển khai chúng

Lý do 2 - Ngôn ngữ khó hơn

Tôi đã lập trình bằng VBA được gần 30 năm (. ) và trong C# và JavaScript trong hơn 5. Nhưng tôi thích giao diện kiểu VB hơn, và đã viết một bài trên Simple-Talk về hiệu ứng này (đến nay bài này đã có 460.000 lượt xem và 2.700 bình luận, chủ yếu là phê bình. )

Có hai lý do khiến bạn thấy lập trình bằng JavaScript khó hơn bằng VBA

  1. Nó ít giống tiếng Anh
  2. Bạn không thể ghi macro JavaScript trong Excel hoặc Word, như bạn có thể làm cho VBA

Nếu bạn là một nhà phát triển có kinh nghiệm, sẽ có rất nhiều lỗi về VBA, như được tóm tắt trong bài viết này, nhưng đại đa số người dùng VBA sẽ không bao giờ cần biết lớp, đại biểu và chức năng lambda là gì

Lý do 3 - JavaScript không đồng bộ, nhưng VBA được thông dịch

Để đơn giản hóa

  • Khi bạn yêu cầu VBA thực hiện A và B, nó sẽ đợi cho đến khi A hoàn thành trước khi bắt đầu thực hiện B
  • Khi bạn yêu cầu JavaScript thực hiện A và B, nó sẽ gửi yêu cầu (chúng được gọi là lời hứa), để A và B có thể chạy song song

Chắc chắn sau đó phương pháp JavaScript là tốt hơn?

Chúng ta có thể sử dụng javascript trong excel không?

Vì phương thức JavaScript chạy các tác vụ song song nên nó sẽ hoàn thành nhanh hơn so với phương thức tương đương VBA

Nhưng mà. hãy thử làm một chiếc bánh với phương pháp này. Các hướng dẫn cơ bản là

  1. Kem cùng bơ / bơ thực vật và đường
  2. Trộn trong trứng
  3. Trộn bột mì và bột nở
  4. Nướng
  5. Trang trí và phục vụ

Bây giờ hãy tưởng tượng phiên bản JavaScript này, trong đó tất cả các tác vụ bắt đầu cùng một lúc và không cần đợi một tác vụ kết thúc trước khi tác vụ tiếp theo bắt đầu. Nếu bạn may mắn, bạn sẽ nhận được điều này

Chúng ta có thể sử dụng javascript trong excel không?

Xin lỗi nếu đây là hình ảnh của bạn mà tôi lấy từ Google Images. Tôi hy vọng sinh nhật diễn ra tốt đẹp. Tuy nhiên, trên thực tế, chúng tôi sẽ không nhận được bất cứ thứ gì dễ nhận biết như một chiếc bánh này từ quy trình của chúng tôi

Hầu hết mọi macro mà bạn viết trong Excel đều yêu cầu các bước diễn ra theo một thứ tự nhất định. Một thuật toán điển hình có thể là

  1. Chuyển đến ô không trống cuối cùng trong một cột
  2. Sao chép giá trị của nó
  3. Dán nó vào ô bên dưới nó

Để viết điều này bằng JavaScript, bạn sẽ phải tiếp tục kiểm tra xem một lời hứa đã được thực hiện chưa trước khi yêu cầu lời hứa tiếp theo (mặc dù đối với ví dụ đơn giản này, bạn có thể kết hợp ba hướng dẫn thành một quy trình duy nhất)

Tôi viết mã JavaScript cho các trang web lâu hơn khoảng 5 lần so với C#. Có một vài lý do cho việc này, nhưng lý do chính là các lỗi xuất hiện khi tôi cho rằng quy trình A đã kết thúc trong khi thực tế nó vẫn đang chạy.  

Vì vậy, trừ khi bạn đã là nhà phát triển web JavaScript hoặc TypeScript toàn thời gian, lời khuyên của tôi là hãy bỏ qua Office-js cho đến khi Microsoft đóng cửa VBA, điều mà tôi không thấy sẽ xảy ra trong thập kỷ tới

Làm cách nào để chèn JavaScript vào Excel?

Chèn mã VBA vào Sổ làm việc Excel . Sao chép mã VBA (từ trang web, v.v. ) và dán nó vào ngăn bên phải của trình soạn thảo VBA (cửa sổ "Module1"). Right-click on your workbook name in the "Project-VBAProject" pane (at the top left corner of the editor window) and select Insert -> Module from the context menu. Copy the VBA code (from a web-page etc.) and paste it to the right pane of the VBA editor ("Module1" window).

Bạn có thể tự động hóa Excel bằng JavaScript không?

JADE cung cấp cho bạn khả năng sử dụng JavaScript để tự động hóa mọi thứ trong phạm vi sổ làm việc của Excel mà không cần bật macro . Vì JavaScript bạn viết đang tồn tại trong trình duyệt nên nó không có quyền truy cập vào bất kỳ tính năng nào của hệ điều hành trên máy chủ.

Làm cách nào để kết nối JavaScript với trang tính Excel?

Cách nhập và xuất Excel XLSX bằng JavaScript .
Thiết lập Dự án Bảng tính JavaScript
Thêm mã nhập Excel
Thêm dữ liệu vào tệp Excel đã nhập
Thêm một biểu đồ thu nhỏ
Thêm mã xuất Excel

Tôi có thể sử dụng JavaScript thay vì VBA không?

Điểm hấp dẫn lớn là trong khi VBA chỉ hoạt động với Microsoft Office trên Windows hoặc Mac, JavaScript sẽ hoạt động với các phiên bản Excel chạy trên web, điện thoại hoặc ứng dụng của bạn. . .