2010-09-28 43 views
6

Tôi chưa bao giờ sử dụng VSTO và tôi thấy khó tìm được một trợ giúp học tập tốt cho năm 2010.Làm cách nào để hiển thị trang tính theo tên bằng VSTO 2010 cho Excel

Nhu cầu của tôi rất đơn giản, tôi có sổ làm việc với 42 trang tính (tôi đoán đúng 20 nhưng sau khi đếm tìm thấy một con số đáng ngạc nhiên). Tôi muốn thêm một ruy-băng (Phần đó rất dễ) bằng cách sử dụng VSTO để cho phép nhân viên điều hướng số lượng lớn các trang một cách dễ dàng. Tôi dường như không thể tìm thấy mã C# để hiển thị một trang tính cụ thể (Tốt nhất là theo tên) mà tôi có thể chỉ cần thêm vào sự kiện nhấp chuột của các nút.

Cảm ơn

Trả lời

10

Gọi Activate phương pháp trên đối tượng bảng (loại Microsoft.Office.Tools.Excel.Worksheet).

Bạn có thể làm điều này bằng tên từ bên trong lớp ThisWorkbook của bạn hoặc thông qua Globals.ThisWorkbook như sau:

private Excel.Worksheet GetWorksheetByName(string name) 
{ 
    foreach (Excel.Worksheet worksheet in this.Worksheets) 
    { 
    if (worksheet.Name == name) 
    { 
     return worksheet; 
    } 
    } 
    throw new ArgumentException(); 
} 

private void ActivateWorksheetByName(string name) 
{ 
    GetWorksheetByName(name).Activate(); 
} 

Gọi ActivateWorksheetByName và vượt qua tên của bảng để hiển thị.

+0

Làm cách nào để truy cập cá thể ThisWorkBook từ trong Lớp Ribbon? Tôi không thể có được một cái móc trên đó và tôi rõ ràng không muốn mới lên một cái khác. –

+2

Bạn có thể truy cập thông qua lớp 'Globals' như' Globals.ThisWorkbook'. –

+0

Cảm ơn Richard, tôi sẽ cố gắng ngay khi tôi vào văn phòng. Tôi cần phải tìm một cuốn sách VSTO 2010 tốt. Có vẻ như 99% những gì tôi tìm thấy trên web đã lỗi thời và tôi không biết đủ để cho biết 1% nào sẽ hữu ích. –

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