2009-02-03 56 views
55

Vì vậy, tôi cần phải chạy một ai đó ứng dụng của người khác excel trên máy tính của tôi, và tôi nhận được "Không thể tìm thấy dự án hoặc thư viện" trên chức năng tiêu chuẩn như ngày, định dạng, hex, giữa, v.v."Không thể tìm thấy dự án hoặc thư viện" cho các chức năng VBA chuẩn

Một số nghiên cứu chỉ ra rằng nếu tôi tiền tố các hàm này bằng "VBA". như trong "VBA.Date" thì nó sẽ hoạt động tốt.

Các trang web gợi ý nó đã làm với tài liệu tham khảo dự án của tôi trên hệ thống của tôi, trong khi họ phải ok trên hệ thống của nhà phát triển. Tôi sẽ giải quyết vấn đề này một thời gian từ những người khác và sẽ phân phối các ứng dụng này cho nhiều người khác, vì vậy tôi cần hiểu những gì xảy ra với thiết lập excel của mình mà tôi cần sửa chữa hoặc những gì cần phải thay đổi trong xls tập tin để nó sẽ chạy trên một loạt các hệ thống. Tôi muốn tránh khiến mọi người sử dụng "VBA". như một tham chiếu rõ ràng, nhưng nếu không có giải pháp lý tưởng, tôi cho rằng đó là những gì chúng tôi sẽ phải làm.

  • Làm cách nào để tạo "VBA". tiềm ẩn trong thuộc tính dự án của tôi/tài liệu tham khảo/etc?

-Adam lỗi

+0

bạn có đang phát triển trong một phiên bản excel và phân phối cho người dùng sử dụng phiên bản khác không? –

+0

Đó có thể là trường hợp - Tôi không biết phiên bản nào nhà phát triển đang sử dụng. Tôi sẽ kiểm tra. –

+2

http://www.cpearson.com/Excel/MissingReferences.aspx – SmartestVEGA

Trả lời

51

tôi đã thấy trên các chức năng tiêu chuẩn nếu có một tham chiếu đến một thư viện hoàn toàn khác mất tích.

Trong trình soạn thảo VBA khởi động lệnh Compile từ menu và sau đó kiểm tra các tài liệu tham khảo hộp thoại để xem nếu có bất cứ điều gì thiếu và nếu như vậy cố gắng thêm các thư viện này.

Nói chung, có vẻ như thực hành tốt để biên dịch mã VBA hoàn chỉnh và sau đó lưu tài liệu trước khi phân phối.

+3

Tôi đồng ý. Thiếu tham chiếu sẽ được đánh dấu rõ ràng MISSING. Trong trường hợp của bạn, tôi nghi ngờ nó là một phiên bản sau của thư viện Excel, mà có thể được xung quanh với ràng buộc muộn, hoặc chọn thư viện trước đó. Tôi không tin rằng việc biên dịch mã sẽ giúp thiếu tham chiếu. – Fionnuala

+0

Hmm. Tôi nhận được một yêu cầu cho một mật khẩu VBAproject. Các âm mưu dày. –

+0

Thời gian để tìm nhà phát triển origional tôi nghĩ. –

12

Tôi đã có kinh nghiệm vấn đề này chính xác và tìm thấy, trên máy người dùng, một trong những thư viện tôi phụ thuộc vào đã được đánh dấu là "mất tích" trong hộp thoại tài liệu tham khảo. Trong trường hợp đó, đó là một số thư viện phông chữ văn phòng có sẵn trong phiên bản Office 2007 của tôi, nhưng không có trên màn hình máy khách.

Lỗi bạn nhận được là một cá trích đỏ hoàn chỉnh (như được chỉ ra bởi divo).

Cũng may là tôi đã không sử dụng bất cứ điều gì từ thư viện, vì vậy tôi đã có thể loại bỏ nó khỏi các tham chiếu XLA hoàn toàn. Tôi đoán, một phần mở rộng của divo 'thực hành tốt nhất được đề xuất sẽ là để thử nghiệm để kiểm tra XLA trên tất cả các phiên bản Office mục tiêu (không phải là một ý tưởng tồi trong mọi trường hợp).

7

Trong trường hợp của tôi, đó là hàm AMBIGUOUS vì nó được định nghĩa trong thư viện VBA (có trong tài liệu tham khảo của tôi), và cũng có trong Thư viện đối tượng Microsoft Office (cũng có mặt). Tôi đã loại bỏ Thư viện đối tượng Microsoft Office, và thì đấy! Không cần sử dụng VBA. tiếp đầu ngữ.

27

Tôi đã gặp vấn đề tương tự. Điều này làm việc cho tôi:

  • Trong VB vào Tools » Tài liệu tham khảo
  • Bỏ chọn thư viện "Phân tích pha lê Common Controls 1.0". Hoặc bất kỳ thư viện nào.
  • Chỉ cần để tham khảo những 5:
    1. Visual Basic for Applications (Đây là thư viện mà xác định ngôn ngữ VBA.)
    2. Microsoft Excel Object Library (Điều này xác định tất cả các yếu tố của Excel.)
    3. Tự động hóa OLE (Điều này xác định loại liên kết và nhúng tài liệu và tự động hóa các ứng dụng khác và "hệ thống ống nước" của hệ thống COM mà Excel sử dụng để giao tiếp với thế giới bên ngoài.)
    4. Microsoft Office (Định nghĩa này những thứ phổ biến đối với tất cả các chương trình Office chẳng hạn như thanh Lệnh và thanh Điều khiển.)
    5. Microsoft Forms 2.0 Điều này là bắt buộc nếu bạn đang sử dụng Biểu mẫu Người dùng. Thư viện này định nghĩa những thứ như biểu mẫu người dùng và các điều khiển mà bạn có thể đặt trên biểu mẫu.
  • Sau đó lưu.
+0

Đối với tôi, tôi phải bỏ chọn "Thư viện đối tượng MicroSoft MapPoint 19.0" đã không được sử dụng trong macro được đề cập nhưng được sử dụng ở nơi khác trong bảng tính. – ELW

+1

Mỏ là "Microsoft Windows Common Controls 6.0 (SP4)", đã xuất hiện trên máy tính Excel 2010 của tôi nhưng trên máy tính xách tay có Excel 2013. Ngoài ra, nó có vẻ đang được sử dụng (tôi nhận được "Không thể xóa điều khiển hoặc tham chiếu ; sử dụng "nếu tôi bỏ chọn nó) vì vậy tôi cần phải tìm hiểu những gì đang sử dụng nó và loại bỏ điều đó ... – Rich

+0

[Chỉnh sửa: ở trên phải có" * không * trên máy tính xách tay ... "] Hóa ra tôi không thể loại bỏ các tham chiếu dự án trên máy mà nó hoạt động, một trong hai. Bây giờ tôi đã cố gắng để loại bỏ nó programatically (using .VBProject.References, looping trên chúng, và gọi Remove trên một xấu để loại bỏ nó) và tôi nhận được "Run-time error '-2147319779 (8002801d)': Thư viện đối tượng không đã đăng ký "trên máy không có thư viện và tôi nhận được" lỗi thời gian chạy '57101': Không thể xóa tham chiếu mặc định "trên máy * có * có thư viện MSComctlLib hiện tại. Grrrr. – Rich

0

Trong trường hợp của tôi, tôi đã kiểm tra công việc được thực hiện trên máy tính văn phòng của tôi (với Visio cài đặt) ở nhà (không có Visio). Mặc dù VBA dường như bị treo lên trên các hàm mặc định đơn giản, vấn đề là tôi đã tham chiếu đến các thư viện Visio vẫn còn hoạt động.

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