Я пытаюсь получить форму по имени. Форма, о которой идет речь, - это картина. Код компилируется, но во время выполнения я получаю сообщение об ошибке CS1061: «Shapes» не содержит определения для «Item», и доступный метод расширения «Item», принимающий первый аргумент типа «Shapes», не может быть найден (вы пропускаете использование директива или ссылка на сборку?) ". Однако Item () указан в документах и intelliSense. Я заметил ту же проблему с коллекцией имен, но в этом случае я обошел ее, просматривая коллекцию. Это не практично в этом случае. Что мне не хватает?
using Microsoft.Vbe.Interop.Forms;
using System;
using System.IO;
using System.Linq;
using xl = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
namespace MyWorkbook
{
public partial class Sheet1
{
private CommandButton btnDelete;
private void btnDelete_Click()
{
xl.Shape S = this.Shapes.Item("Name");
if (S != null) S.Delete();
}
}
}