2013-06-03 31 views
8

Một trong những người dùng điều khiển lưới iGrid ActiveX của chúng tôi cần chèn trực tiếp vào bảng MS Excel, nhưng họ không quản lý được điều đó - Lỗi "Không thể chèn đối tượng" được tạo ra mọi lúc. Chúng tôi cũng có thể tái tạo vấn đề này trên máy tính thử nghiệm của chúng tôi theo Win7 64-bit và MS Office 2010 32-bit.Lỗi "Không thể chèn đối tượng" khi thêm điều khiển ActiveX như Microsoft DataGrid vào trang tính Excel

Điều khiển COM này được đăng ký đúng trong hệ điều hành và có thể được thêm vào VBA UserForms và các ứng dụng khác, nhưng chúng tôi không thể thực hiện điều đó cho một trang tính Excel. Có vẻ như, đó là một vấn đề phổ biến đối với ActiveX - ngay cả những lỗi cũ như Microsoft DataGrid Control 6.0. Sau khi tìm kiếm giải pháp trong một khoảng thời gian đáng kể, chúng tôi đã kết luận đây là một cài đặt bảo mật trong MS Office. Vì vậy, câu hỏi có thể được xây dựng như sau: Làm thế nào để kích hoạt việc sử dụng các điều khiển ActiveX cụ thể trong MS Office?

Dưới đây là các tài nguyên có liên quan mà chúng tôi đã tìm thấy và có thể hữu ích.

Trước hết, Microsoft states rằng

Not all ActiveX controls can be used directly on worksheets; some can be used only on Microsoft Visual Basic for Applications (VBA) UserForms. When you work with these controls, Excel displays the message Cannot insert object if you try to add them to a worksheet.

Không ai biết những gì còn thiếu tính năng có thể ngăn chặn một điều khiển ActiveX không bị insertable thành tấm Excel?

Thứ hai, có sự cố đã biết với EXD files được sử dụng để lưu vào bộ điều khiển ActiveX. Nhưng chúng tôi đã kiểm tra - đó không phải là trường hợp của chúng tôi.

Thứ ba, có hai bài báo kỹ thuật từ Microsoft mà giải thích làm thế nào để "sửa chữa" một số vấn đề an ninh ActiveX cho ActiveX bằng cách sử dụng registry:

PRB: Thông báo lỗi "Không thể chèn đối tượng" trong Excel
http://support.microsoft.com/default.aspx?scid=kb;EN-US;171280

Không thể chèn một số điều khiển ActiveX có thể đọc được vào tài liệu Office 2013
http://support.microsoft.com/kb/2793374

Có vẻ như điều này cũng không giúp ích - hoặc chúng tôi đã làm điều gì sai.

Và điều cuối cùng chúng tôi đã thử - Trung tâm tin cậy Office. Cho phép sử dụng tất cả các ActiveX mà không có bất kỳ hạn chế nào và thêm thư mục với iGrid ActiveX của chúng tôi vào danh sách vị trí đáng tin cậy không giúp được gì.

+0

Làm cho tôi cảm thấy ngu ngốc .. giải pháp cho vấn đề của tôi đã có ngay trong liên kết mà bạn đã đề cập đến http://support.microsoft.com/kb/2793374. Thử nó. Công trinh! – richie

+0

@ richie, tôi đang sử dụng Office 2010, không phải 2013 và tôi vẫn gặp lỗi này: "không thể chèn đối tượng" cho nút lệnh X đang hoạt động - nơi tôi thường gán một hoặc nhiều macro và xác thực cho nút đó. Điều này vẫn áp dụng? Bất kỳ ý tưởng nào, sẽ rất đáng buồn nếu các nút Active X không thể được sử dụng nữa vì chúng được xem là mối đe dọa bảo mật. – yoshiserry

+0

@TecMan: Bạn đã bao giờ giải quyết vấn đề này chưa? Tôi chống lại cùng một vấn đề ... – eggyal

Trả lời

2

Chúng tôi đã có một vấn đề tương tự trong quá khứ với điều khiển ActiveX mà chúng tôi chèn trên trang tính Excel từ Bổ trợ COM của chúng tôi và dường như bạn đã chạm vào hai mục (bên dưới) để giải quyết. Sau đây giải quyết vấn đề nhiều nhất * của thời gian.

Từ Excel 2010: Băng tệp; Tùy chọn; Trung tâm Tin tưởng; Cài đặt Trung tâm tin cậy (nút) ...;

  • bổ trợ: Bỏ chọn 'Yêu cầu ứng dụng Add-in được ký bởi nhà xuất bản tin cậy'.
  • Cài đặt Macro: Đảm bảo cài đặt này không tắt tất cả Macro mà không cần thông báo. Nó là OK nếu nó được thiết lập để 'Vô hiệu hóa tất cả các Macros với thông báo'.
  • Cài đặt ActiveX: Đảm bảo rằng nó không tắt tất cả các điều khiển mà không cần thông báo. Đó là OK là nó được thiết lập để 'Nhắc tôi trước khi cho phép tất cả các điều khiển với các hạn chế tối thiểu'. Đây là NGUYÊN NHÂN CHÍNH.
  • Vị trí tin cậy: Thêm thư mục kiểm soát của bạn.

Lưu ý rằng một số trong số này thường không cần thiết nếu InstallShield đăng ký đúng chương trình có chứa (ví dụ: dll). Cũng lưu ý rằng chúng tôi vẫn cho phép nhắc (có thể là một ý tưởng hay để giả vờ trách nhiệm của bạn). Điều đó đã không gây ra cho chúng tôi một vấn đề.

  • Tuy nhiên, lý do tôi ở đây là chúng tôi có một trường hợp (trong số 200 khách hàng) mà ở trên KHÔNG hoạt động và điều này mới bắt đầu diễn ra cách đây một tuần (hoạt động trong 9 tháng qua). Tôi giả định tham nhũng Excel vào thời điểm này vì không có thay đổi. Chúng tôi đã thử mọi cách khác. Bạn đã giải quyết của bạn?
+0

Tôi vừa kiểm tra tất cả những gì bạn đã viết. Trong trường hợp của tôi, 3 tùy chọn đầu tiên được đặt như bạn đã đề xuất. Đối với 4, tôi đã không có đường dẫn đến OCX trong danh sách Trusted Locations. Đã thêm nó, nhưng nó không giúp được gì. – TecMan

1

này giải quyết nó cho tôi:

Chuyển đến registry sau đây:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 15.0 \ Common \ COM Compatibility {8856F961-340A-11D0-A96B -00C04FD705A2}

Sau đó, đặt dữ liệu giá trị từ 400 đến 0

Hy vọng điều đó sẽ hữu ích.

Xin lỗi đã quên ghi nhận cho người đã tìm thấy nó. Đây. http://social.technet.microsoft.com/Forums/office/en-US/7942c472-2b5a-4005-888f-43ece2a5800a/adding-web-browser-control-to-excel-2013?forum=officeitpro&prof=required

13

Từ Technet Forum

Đóng Excel.

Khởi động Windows Explorer.

Chọn ổ đĩa hệ thống của bạn (thường là C :)

Sử dụng hộp Search để tìm kiếm * .exd

Xóa tất cả các tập tin mà nó tìm thấy.

Bắt đầu lại Excel.

+1

[Bài viết có liên quan kb.] (Http://support.microsoft.com/kb/290537) –

+1

Đã hoạt động! Vô cùng hữu ích vì bản cập nhật Office gần đây tự động đã gây ra sự cố này cho tôi để hiển thị cho một số người dùng (nhưng không phải người khác) ra khỏi màu xanh lam. Cảm ơn Stefan! – pghcpa

0

Tôi gặp phải vấn đề này vào một ngày khác và quay lại những điều cơ bản với giải pháp của mình vì tôi không thích ý tưởng chỉnh sửa registry.

tôi giải quyết vấn đề bằng cách đơn giản tái đăng ký các loại chính của điều khiển tôi sử dụng tức là các nút lệnh, Comboboxes, hộp thoại liệt kê, Spinners, vv

Để làm điều này đi vào tab Developer và click vào Insert (một điều khiển)

Bằng cách chọn 'Điều khiển khác', ở góc dưới cùng bên phải của Điều khiển ActiveX, bạn có thể đăng ký lại bất kỳ điều khiển nào bạn có thể cần.

Các vấn đề liên quan