Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
exe для запуска xls с включеными макросами
 
Хорошая вещь, но почему-то обязательно требует Net framework 4.0.....
Как объявить глобальный динамический массив на уровне модуля?
 
{quote}{login=The_Prist}{date=22.11.2010 03:32}{thema=}{post}А где объявляете-то? Надо в стандартном модуле и только в стандартном модуле. Не в модуле формы, не в модуле класса или листи и книги.{/post}{/quote}  
 
Изначально объявлял в модуле формы. Сейчас все получилось. Спасибо, The_Prist!
Как объявить глобальный динамический массив на уровне модуля?
 
Допустим, имею динамический массив Mass и две локальные процедуры в форме. Нужно передать значения этого массива из одной процедуры в другую.  
 
Сначала решил в General написать  
 
Public ReDim Mass (1 to 10). Ругается "Identificier expected".  
 
Вычитал в инете такой вариант  
 
в general объявить  
 
Public Mass ()  
 
а в локальной процедуре  
 
ReDim Mass (1 to 10).    
Ругается "Constants, fixed-length strings, arrays, user-defined types and Declare statements not allowed as Public members of object modules"  
 
Как правильно объявить такой массив?
Получить данные из диалога SaveAs
 
Имеется код, который вызывает диалоговое окно xlDialogSaveAs  
 
   FName = Application.GetSaveAsFilename(InitialFileName:=FName, _  
       FileFilter:="Excel Files (*.xls), *.xls")  
   If FName <> "" Then If FName <> "False" Then ActiveWorkbook.SaveAs Filename:=FName & ".xls".....  
 
Нужно отследить, нажата ли была в диалоге клавиша "Сохранить", т.е. был ли сохранен файл или пользователь отменил сохранение файла.  
Подскажите, как это можно узнать?
Как "заставить" элменты управления перемещаться вместе с выделенным диапазоном ячеек?
 
{quote}{login=The_Prist}{date=16.11.2010 05:20}{thema=}{post}я без файла не хочу :-)  
 
ActiveSheet.DrawingObjects("Метка 1").Caption = "QWERTY"{/post}{/quote}  
 
Да, сработало!!!  
Огромное Вам всем спасибо за помощь The_Prist, Alex_ST, Юрий М
Как "заставить" элменты управления перемещаться вместе с выделенным диапазоном ячеек?
 
Уф, все-таки не знаю как обратиться к подписи если она на рабочем листе.  
 
Вставляю в книгу(Лист1) элемент управления формы Подпись. В строке формул у ней появлется имя "Метка 1". Вставляю ActiveX кнопку и "вешаю" на нее код. Перебрал варианты  
 
Worksheets("Лист1").Метка1.Caption = "QWERTY"  
Лист1.Метка1.Caption = "QWERTY"  
module1.Метка1.Caption = "QWERTY"  
 
Worksheets("Лист1").Метка 1.Caption = "QWERTY"  
Лист1.Метка 1.Caption = "QWERTY"  
module1.Метка 1.Caption = "QWERTY"  
 
Worksheets("Лист1").Label("Метка 1").Caption = "QWERTY"  
Лист1.Label("Метка 1").Caption = "QWERTY"  
module1.Label("Метка 1").Caption = "QWERTY"  
 
Worksheets("Лист1").Label("Метка1").Caption = "QWERTY"  
Лист1.Label("Метка1").Caption = "QWERTY"  
module1.Label("Метка1").Caption = "QWERTY"  
 
Если назначить макрос то пишет Sub Метка1_Щелчок()  
Значит имя "Метка1"?  
 
Все-таки, как к ней обратиться?
Как "заставить" элменты управления перемещаться вместе с выделенным диапазоном ячеек?
 
Alex_ST.    
Спасибо за вариант, но я не знаю как, допустим, у объекта Подпись  в  процессе выполнения программы изменить Caption, если он является элементом управления формы.    
 
Юрий М  
Очень бы хотел узнать как включить/отключить режим конструктора в процессе выполнения программы. Рылся в инете - ничего не нашел.  
 
Извините, если некоторые вопросы слишком "чайниковые". Очень жду Ваших ответов.
Как "заставить" элменты управления перемещаться вместе с выделенным диапазоном ячеек?
 
Как "заставить" элменты управления перемещаться вместе с выделенным диапазоном ячеек если приложение не находиться в режиме конструктора?
Как обратиться к выделенному объекту Shape?
 
Имеется проблема следующего содержания. Программа копирует определенный диапазон ячеек на рабочем листе на другой лист многократно (содержимое ячеек при каждой итерации разное). В выделяемом для копирования диапазоне, (в строго определенном месте этого диапазона)располагается объект Label свойства которого (надпись) тоже меняются при каждой итерации.  
При копировании диапазона объект, тем не менее, не копируется, хотя в свойствах стоит "перемещать объект вместе с ячейками". Но в ручном режиме объект вместе с ячейками копируется.  
 
Пробовал коприровать объект отдельно  
 
Sheets("Имя_листа1").Activate  
ActiveSheet.Shapes("Label1").Select  
Selection.Copy  
Sheets("Имя_листа1").Activate  
ActiveSheet.Paste  
 
но при таком подходе, объект располагается в каждом скопированном диапазоне не там где должен.Хотел выравнивать каждый объект отдельно в цикле по св-вам Top, Left, но  имя объекта каждый раз меняется Label1, Label2, ... А объектов много.  
В этой связи два вопроса:  
1)Можно как-нибудь заставить объект перемещаться ввместе с выделенным диапазоном ячеек, когда это делается посредством программы?  
2)Если нет, то как обратиться к выделенному объекту Label не зная его имени, сразу после вставки на новый лист когда он выделен?
Как лучше выделить неактивные элементы управления?
 
Всем спасибо за ответы
Как лучше выделить неактивные элементы управления?
 
Вобщем, стоит задача, чтобы пользователи сразу могли отличить активный ComboBox от неактивного , т.к. на листе их довольно много и содержимое одних влияет на доступность других (причем других видов ЭУ на листе это касаться не должно). Прописывать код под backcolor каждого ComboBox в зависимости от его состояния enabled не тянет т.к., повторюсь, элементов много. Думал попробовать изменить цвета каждого ComboBox в его свойствах в зависимости от его состояния enabled (для лучшего контраста), но ничего такого в свойствах похоже нет. Можно ли все-таки решить эту задачу не меняя системных цветов Windows и не прописывая код для каждого отдельного ComboBox?
Как обратиться к элементам управления на рабочем листе?
 
Вобщем, пишу процедуру которая будет проверять, заполнены ли все Combobox на рабочем листе.  
 
(1) Function Correct() As Boolean  
(2)  Dim pol As MSForms.Control  
(3)  Correct = True  
(4)  For Each pol In ActiveSheet.Controls  
(5)   If TypeOf pol Is MSForms.Combobox and pol.Value = Empty Then  
(6)    Correct = False  
(7)   End If  
(8)  Next  
(9) End Function  
 
 
 
В строке 4 выдает: Object doesn't support this property or method (Error 438)    
 
Вместо ActiveSheet.controls пытался вводить Worksheets("Имя листа").controls, Sheets("Имя листа").controls - ниче не помогает.  
Как обратиться к ЭУ на рабочем листе?
Страницы: 1
Наверх