pazdak
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите кто знает, как в VBScript ПРАВИЛЬНО реализовать в Excel "Проверку данных" с условием проверки "Список" Если сделать запись макроса, то получаем такой код: Код: With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=YESNO" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With | Пытался это переписать на VBScript: Создаем пространство имен YESNO: Код: objSheet.Range("H100").FormulaR1C1="NO" objSheet.Range("H101").FormulaR1C1="YES" objXlsApp.ActiveWorkbook.Names.Add "YESNO", "=" & objSheet.Name & "!$H$100:$H$101" | Собственно сама проверка данных: 3 - xlValidateList Код: obrow = "A3" objSheet.Range(obrow).Validation.Delete objSheet.Range(obrow).Validation.Add 3,1,1,"=YESNO" objSheet.Range(obrow).Validation.IgnoreBlank = True objSheet.Range(obrow).Validation.InCellDropdown = True objSheet.Range(obrow).Validation.InputTitle = "" objSheet.Range(obrow).Validation.ErrorTitle = "" objSheet.Range(obrow).Validation.InputMessage = "" objSheet.Range(obrow).Validation.ErrorMessage = "" objSheet.Range(obrow).Validation.ShowInput = True objSheet.Range(obrow).Validation.ShowError = True | На строке: objSheet.Range(obrow).Validation.Add 3,1,1,"=YESNO" дает ошибку 1004 "Unknown error" Бился по всякому, но не выходит каменный цветок Прошу Вашей помощи Добавлено: Проблема решена, в скрипте строка: Код: objXlsApp.activewindow.WindowState = xlMinimized | Оказывается влияет пагубно на добавление проверки данных, после того как закоментировал ее, все наконец-то заработало | Всего записей: 378 | Зарегистр. 13-02-2003 | Отправлено: 16:44 31-03-2008 | Исправлено: pazdak, 15:23 14-04-2008 |
|