2012-04-20 70 views
1

我目前使用Microsoft Project 2010和Project 2010 Scrum Solution Starter加載項。該加載項非常好,因爲它增加了很多自定義視圖/任務類型/等。規劃&管理一個scrum項目。但是,它也有一些問題(比如必須手動編輯自定義字段以將任務移動到產品或衝刺待辦事項,刪除衝刺問題以及偶爾使用相同衝刺號創建重複衝刺),所以我一直在嘗試使用VBA來解決這些缺點。通過VBA宏與COM加載項交互

但是,我無法從加載項獲取活動sprint號碼。縱觀該加載在C#源代碼,這是存儲在名爲sprintNumber類變量:

namespace Scrum 
{ 
    public delegate void SprintAdded(object sender, EventArgs e); 

    public partial class AddNewSprint : Form 
    { 
     public event SprintAdded onSprintAdded; 

     private Microsoft.Office.Interop.MSProject.Application _application 
      = null; 
     private int sprintNumber = -1; 

也有在顯示此號碼的功能區菜單下拉列表。但我不知道如何訪問類變量或加載項創建的下拉列表。

這是否可能,或者我將不得不購買Visual Studio並學習C#,或者有沒有更容易的方法可以解決這個問題?

+1

如果您有加載項源,那麼這就是要走的路 – 2012-04-20 21:42:45

+0

@David:就像我在VBA開發中的經驗一樣,我在C#和COM加載項開發中所做的更少。我考慮過購買Visual Studio和學習C#,但我只想確保沒有簡單的方法通過VBA宏執行此操作。 – 2012-04-20 22:13:04

+0

似乎不太可能vba可以提供幫助。你爲什麼需要購買VS.你不能使用快遞嗎? – 2012-04-20 22:43:12

回答

1

AFAIK,您將無法使用Express Edition創建COM Addins。你將不得不購買完整版(最低 - 標準版)

如果你是一個認真的添加,在發展,那麼你可能需要去爲Add-In Express與Visual Studio。我高度推薦它,因爲我廣泛使用它。它讓你的生活變得更輕鬆。如果您有任何問題,請聯繫支持部門的Andrei Smolin

2

宏無法訪問加載項中聲明的私有變量。如果您擁有相應的Visual Studio版本,則可以修改加載項,以便它提供返回該變量的公共屬性/成員。但是由於您擁有加載項的源代碼,因此您知道顯示該編號的Ribbon控件的類型和ID。我想您可以使用輔助功能從該控件中檢索該值,請參閱http://www.wordarticles.com/Shorts/RibbonVBA/RibbonVBADemo.php

+0

+ 1感謝您的投入和添加您的寶貴意見:) – 2012-04-24 08:02:16