Сделать WordArt не получать фокус

Есть ли API в VSTO / VBA для Excel или Aspose Cells для Java, чтобы сделать это так, чтобы WordArt, который я добавил в рабочий лист Excel, никогда не получал фокус клавиатуры или мыши?

Например, на рисунке ниже, когда я нажимаю на WordArt, он получает фокус. Когда он имеет фокус, и я нажимаю клавишу Tab на клавиатуре, фокус переходит к следующему WordArt, то есть над ним.

Я бы хотел, чтобы эти объекты WordArt никогда не получали фокус клавиатуры или мыши. Есть ли способ?

введите описание изображения здесь

Это может быть достигнуто путем защиты вашего рабочего листа. Вы можете узнать из Интернета, как защитить рабочий лист, его содержимое или объекты. Aspose.Cells поддерживает защиту рабочего листа.

См. Следующий пример кода, который использует API Aspose.Cells. В нем объясняется, как защитить содержимое вашего листа или объекты. Пожалуйста, измените код в соответствии с вашими потребностями.

Оба кода Java и C # приведены для справки.

Ява

//Load your workbook Workbook wb = new Workbook("sample.xlsx"); //Access first worksheet Worksheet ws = wb.getWorksheets().get(0); //Unlock all cells of your worksheet Style st = ws.getCells().get("A1").getStyle(); st.setLocked(false); StyleFlag flg = new StyleFlag(); flg.setLocked(true); ws.getCells().applyStyle(st, flg); //Specify protection types Protection p = ws.getProtection(); p.setAllowEditingContent(false); p.setAllowEditingObject(false); p.setAllowEditingScenario(false); //Protect the worksheet ws.protect(ProtectionType.ALL); //Save the workbook wb.save("output.xlsx"); 

C #

 //Load your workbook Workbook wb = new Workbook("sample.xlsx"); //Access first worksheet Worksheet ws = wb.Worksheets[0]; //Unlock all cells of your worksheet Style st = ws.Cells["A1"].GetStyle(); st.IsLocked = false; StyleFlag flg = new StyleFlag(); flg.Locked = true; ws.Cells.ApplyStyle(st, flg); //Specify protection types Protection p = ws.Protection; p.AllowEditingContent = false; p.AllowEditingObject = false; p.AllowEditingScenario = false; //Protect the worksheet ws.Protect(ProtectionType.All); //Save the workbook wb.Save("output.xlsx"); 

Примечание. Я работаю в качестве Evangelist разработчика в Aspose.

Ну, в API Aspose.Cells вы можете попробовать использовать определенные атрибуты блокировки формы wordart для выполнения своей задачи, см. Пример кода для вашей справки: например, Пример кода:

 Workbook workbook = new Workbook(); Worksheet worksheet = workbook.getWorksheets().get(0); Shape wordart = worksheet.getShapes().addTextEffect(MsoPresetTextEffect.TEXT_EFFECT_1, "CONFIDENTIAL", "Open Sans", 50, false, true, 18, 8, 1, 1, 130, 800); //Lock Shape Aspects. wordart.setLocked(true); wordart.setLockedProperty(ShapeLockType.SELECTION, true); wordart.setLockedProperty(ShapeLockType.SHAPE_TYPE, true); wordart.setLockedProperty(ShapeLockType.MOVE, true); wordart.setLockedProperty(ShapeLockType.RESIZE, true); wordart.setLockedProperty(ShapeLockType.TEXT, true); FillFormat wordArtFormat = wordart.getFill(); wordArtFormat.setFillType(FillType.SOLID); wordArtFormat.getSolidFill().setColor(Color.getLightGray()); wordArtFormat.setTransparency(0.55); wordart.setHasLine(false); workbook.save("out1.xlsx"); 

Надеюсь это немного поможет.

Я работаю разработчиком / евангелистом поддержки в Aspose.

  • Как публиковать файлы PDB вместе с установкой надстройки Excel ClickOnce?
  • Каков наилучший способ выполнить SQL-запрос в большом файле excel с помощью vb.net?
  • Чтение текста строки состояния приложения Excel
  • Как отобразить рабочий лист по имени, используя VSTO 2010 для Excel
  • VSTO: тестирование ориентации PivotField
  • Отслеживание листов, добавленных и удаленных
  • Документация для объектной модели Excel
  • Применение процентного формата с VSTO - умножение на 100 за кулисами
  • Выявление методов .net в качестве функций Excel?
  • Не удается создать проект VSTO Excel Workbook
  • Альтернативы VSTO
  • Давайте будем гением компьютера.