Aracılığıyla paylaş


Nasıl Yapılır: Yönetilen Kod Uzantılarını Belgelerden Kaldırma

Microsoft Office Word ya da Microsoft Office Excel belge düzeyi özelleştirmesinin parçası olan özelleştirilmiş derlemeyi program aracılığı ile belgeden veya çalışma kitabından kaldırabilirsiniz. Kullanıcılar daha sonra belgelerini açabilir ve içindekileri görüntüleyebilir, fakat belgeye eklediğiniz herhangi bir özel kullanıcı arayüzü (UI) gözükmeyecek ve kodunuz çalışmayacaktır.

Uygulama alanı: Bu konudaki bilgiler şu uygulamaların belge düzeyi projelerine yöneliktir: Excel 2007 ve Excel 2010; Word 2007 ve Word 2010. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

Visual Studio Tools for Office çalışma zamanı modülü tarafından sağlanan RemoveCustomization yöntemlerinden birini kullanarak özelleştirilmiş derlemeyi kaldırabilirsiniz. Hangi yöntemi kullanacağınız özelleştirmeyi çalışma zamanında (yani, özelleştirmedeki kodu Word belgesi veya Excel çalışma kitabı açıkken çalıştırma) kaldırmak isteyip istemediğinize veya özelleştirmeyi kapalı bir belgeden yada Microsoft Office yüklü olmayan sunucudaki bir belgeden silmek istemenize göre değişir.

Mürekkepten videoya İlgili video gösterimi için, bkz. Nasıl Yaparım: Eklemek veya bir Word belgesini vsto derlemesinden ayırabilirsiniz?.

Özelleştirilmiş derlemeyi çalışma zamanında kaldırmak için

  • Özelleştirilmiş kodunuzda Document.RemoveCustomization (Word için) veya Workbook.RemoveCustomization (Excel için) yöntemini çağırın. Bu method yalnızca özelleştirmenin daha fazla gerekmediği zamandan sonra çağırılır.

    Bu methodu kodunuzda nerden çağırdığınız özelleştirmenizin nasıl kullanıldığına göre değişir. Örneğin, müşteriler sadece belgenin kendisine (özelleştirmeye değil) ihtiyaç duyan diğer müşterilere belgeyi göndermeye hazır olana kadar sizin özelleştirmenizin özelliklerini kullanıyorsa, kullanıcı tıkladığında RemoveCustomization'ı çağıran bazı UI sağlayabilirsiniz. Alternatif olarak, özelleştirmeniz belgeyi ilk açıldığında bilgi ile dolduruyorsa, fakat özelleştirme müşteriler tarafından doğrudan erişilen özelliklerden başka bir özellik sağlamıyorsa, o zaman müşteriniz belgeyi başlatmayı bitirir bitirmez RemoveCustomization'ı çağırabilirsiniz.

Kapalı veya sunucudaki bir belgeden özelleştirilmiş derlemeyi kaldırmak için

  1. Microsoft Office gibi bir konsol uygulaması gerektirmeyen proje veya Windows Forms projesi başvuru aşağıdaki derlemeler birini ekleyin:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll (proje .NET Framework 4'u hedefliyorsa).

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll (eğer proje .NET Framework 3.5'ı hedefliyorsa).

  2. Kod dosyanın en üstüne aşağıdaki Imports veya using deyimini ekleyin.

    Imports Microsoft.VisualStudio.Tools.Applications
    
    using Microsoft.VisualStudio.Tools.Applications;
    
  3. ServerDocument sınıfının statik RemoveCustomization yöntemini çağırın ve parametre için çözüm belgesi konumunu belirtin.

    Aşağıdaki kod örneği özelleştirmeyi masaüstündeki WordDocument1.docx isimli belgeden kaldırdığınızı varsayar.

    Dim documentPath As String = System.Environment.GetFolderPath( _
        Environment.SpecialFolder.Desktop) & "\WordDocument1.docx"
    Dim runtimeVersion As Integer = 0
    
    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ServerDocument.RemoveCustomization(documentPath)
            System.Windows.Forms.MessageBox.Show("The customization has been removed.")
        End If
    Catch ex As FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As IOException
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.")
    Catch ex As InvalidOperationException
        System.Windows.Forms.MessageBox.Show("The customization could not be removed." & _
            vbLf & ex.Message)
    End Try
    
    string documentPath = System.Environment.GetFolderPath(
        Environment.SpecialFolder.Desktop) + @"\WordDocument1.docx";
    int runtimeVersion = 0;
    
    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
    
        if (runtimeVersion == 3)
        {
            ServerDocument.RemoveCustomization(documentPath);
            System.Windows.Forms.MessageBox.Show("The customization has been removed.");
        }
    }
    catch (FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (IOException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document is read-only.");
    }
    catch (InvalidOperationException ex)
    {
        System.Windows.Forms.MessageBox.Show("The customization could not be removed.\n" +
            ex.Message);
    }
    
  4. Projeyi derleyin ve uygulama özelleştirmesini kaldırmak istediğiniz bilgisayarda çalıştırın. Bilgisayarınız olmalıdır Visual Studio 2010 Tools for Office Çalışma Zamanı Modülü yüklü.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Yönetilen Kod Uzantılarını Belgelere Ekleme

Kavramlar

ServerDocument Sınıfını Kullanarak Sunucu Üzerinde Belge Yönetme