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

Страницы: 1
Как, с помощью VBA, обратиться к документу через имя файла Word из Excel?
 
Нужно сделать так что бы из exel отправить word-овский документ по мылу. Делаю вот так  
 
Dim obj As Object  
Set obj = GetObject("Word.Application")  
Email = Cells(1, 3).Text  
obj.Documents("Ïðåçåíòàöèÿ.doc").SendMail Recipients:=Email  
 
он мне пишет что типа неверное имя файла, хотя оно точно совпадает с открытым файлом. И можно ли посредством exel ещё и тело письма прописать, только у меня нет оутлука а есть только мозила. Смысла файл присылать нет так как весь код перед вами и ошибка только в последней строке.
Заставить отправить сообщение с вложенным документом
 
Нужно сделать так что бы из exel отправить word-овский документ по мылу. Делаю вот так  
 
Dim obj As Object  
Set obj = GetObject("Word.Application")  
Email = Cells(1, 3).Text  
obj.Documents("Ïðåçåíòàöèÿ.doc").SendMail Recipients:=Email  
 
он мне пишет что типа неверное имя файла, хотя оно точно совпадает с открытым файлом. И можно ли посредством exel ещё и тело письма прописать, только у меня нет оутлука а есть только мозила. Смысла файл присылать нет так как весь код перед вами и ошибка только в последней строке.
Как отключить преобразование дробей в даты при выгрузке данных в таблицы
 
Выгружаю файл из базы, программно. Изменить процедуру выгрузки или формат нельзя. При выгрузке создаёт .csv файл. Я открываю файл с помощью Excel и, блин, он преобразовывает все дроби похожие на дату в дату.    
Вариант поставить в настройка exсel вместо точки запятую, как разделитель дроби, не прокатывает, так как есть файлы в которых дроби с запятой, и тогда они будут в таком же состоянии.    
 
 
Подскажите, как раз и навсегда сделать так, чтобы точка прекратила превращать числа в даты?  
 
Подойдёт, как вариант, пример макроса, которым потом можно будет всё вернуть на свои места (превратить даты в дроби).
Передать из массива в массив
 
Проблема наверное тривиальна но решить не могу никак, уже весь моск сломал  
Есть два массива(вернее 6) так вот мне нужно сделать так  
 
Выборка = Выборка1  
 
"Выборка" и "Выборка1" объявленные одинаковые по размерности массивы вида (x,y) так вот после строки которой я написал у меня массив "Выборка" = empty. Причём никаких ошибок не выводится, но и результат естественно никакой. В чём проблема как решить?
отключить формулы через VBA
 
У меня есть файлик с данными, из него тупо копируются определённые ячейки во второй файл. Во втором файле уже прописана формула по которой считается некий результат, на основе ячеек которые переданы из первого файла. Так вот всё работает я всё сделал но блин это очень долго делается. Я так понимаю это из за того что запускается каждый раз Sub Worksheet_Calculate и отбирает время, а так как у меня 40000 строк по 29 ячеек то вы понимаете насколько долго (полтора часа занимает) при всём при том что если я делаю похожую операцию но без формул получается около 10 мин. Мне нужно на время работы программки отключить выполнение (ну не знаю как назвать) формул в книге, а потом когда все ячейки скопируются включить формулы. вариант с тем что бы удалить их а потом опять вставить непрокатит так как сложно это и опять же будет долго, быстрее но долго.
Сохранение книги с заданным форматом
 
Итак у меня есть файл с двуля листами, по определённому запросу выбирается информация с листов и записывается в новую книгу которая была создана посредством VBA. Далее мне нужно сохранить её в формате Exel 2003. Всё замечательно было бы если бы у меня был тоже 2003 но так как у меня 2007 то получается я сохраняю файл в формате 2007 экселя с расширением .XLS.  
 
Вот код:  
Первая версия  
Имя = "C:\Users\a.voloschuk\Desktop\Запросики\" & Комнатность(0) & "-" & Комнатность(1) & " для " & ComboBox4.Value & ".xls"  
Set новаяКнига = Workbooks.Add  
...................  
.............  
............  
Windows(новаяКнига.Name).Activate  
ActiveWorkbook.SaveAs Filename:=Имя  
ActiveWorkbook.Close saveChanges:=True  
 
Вторая версия  
Имя = "C:\Users\a.voloschuk\Desktop\Запросики\" & Комнатность(0) & "-" & Комнатность(1) & " для " & ComboBox4.Value  
Set новаяКнига = Workbooks.Add  
...................  
.............  
............  
Windows(новаяКнига.Name).Activate  
ActiveWorkbook.SaveAs Filename:=Имя, FileFormat:=".BIFF8" 'неработает и даж если пишу .xls  
ActiveWorkbook.Close saveChanges:=True  
 
Ещё забыл написать что всё это должно быть автоматически, тоесть не подходит если будет вылетать окно с выбором формата и тд и тп
Эмм... Связывание строк
 
Я не знаю правильно ли тема звучит, просто не придумал ничего другого. Итак у меня есть лист1 и лист2, на листе1 есть табличка с данными в первом столбце нап=именование в последующих параметры наименования. На втором листе в первом столбце можно выбрать из комбобокса наименование, и нужно что бы выбрав наименование всё остальное тоже выбралось и в соответствующие ячейки копирнулось. Как это сделать? Я сделал сейчас это тупо и неудобно... вот так:  
 
=ЕСЛИ(D35='Форма загрузки'!$A$11;'Форма загрузки'!$B$11;ЕСЛИ(D35='Форма загрузки'!$A$12;'Форма загрузки'!$B$12;ЕСЛИ(D35='Форма загрузки'!$A$13;'Форма загрузки'!$B$13;ЕСЛИ(D35='Форма загрузки'!$A$14;'Форма загрузки'!$B$14;ЕСЛИ(D35='Форма загрузки'!$A$15;'Форма загрузки'!$B$15;ЕСЛИ(D35='Форма загрузки'!$A$16;'Форма загрузки'!$B$16;ЕСЛИ(D35='Форма загрузки'!$A$17;'Форма загрузки'!$B$17;ЕСЛИ(D35='Форма загрузки'!$A$18;'Форма загрузки'!$B$18;ЕСЛИ(D35='Форма загрузки'!$A$19;'Форма загрузки'!$B$19;ЕСЛИ(D35='Форма загрузки'!$A$21;'Форма загрузки'!$B$21;ЕСЛИ(D35='Форма загрузки'!$A$22;'Форма загрузки'!$B$22;ЕСЛИ(D35='Форма загрузки'!$A$23;'Форма загрузки'!$B$23;ЕСЛИ(D35='Форма загрузки'!$A$26;'Форма загрузки'!$B$26;ЕСЛИ(D35='Форма загрузки'!$A$27;'Форма загрузки'!$B$27;ЕСЛИ(D35='Форма загрузки'!$A$28;'Форма загрузки'!$B$28;ЕСЛИ(D35='Форма загрузки'!$A$29;'Форма загрузки'!$B$29;ЕСЛИ(D35='Форма загрузки'!$A$30;'Форма загрузки'!$B$30;ЕСЛИ(D35='Форма загрузки'!$A$31;'Форма загрузки'!$B$31;ЕСЛИ(D35='Форма загрузки'!$A$33;'Форма загрузки'!$B$33;ЕСЛИ(D35='Форма загрузки'!$A$34;'Форма загрузки'!$B$34;ЕСЛИ(D35='Форма загрузки'!$A$35;'Форма загрузки'!$B$35;ЕСЛИ(D35='Форма загрузки'!$A$36;'Форма загрузки'!$B$36;ЕСЛИ(D35='Форма загрузки'!$A$37;'Форма загрузки'!$B$37;ЕСЛИ(D35='Форма загрузки'!$A$39;'Форма загрузки'!$B$39;ЕСЛИ(D35='Форма загрузки'!$A$40;'Форма загрузки'!$B$40;"")))))))))))))))))))))))))  
 
хочу сделать лучше, может быть кто то подскажет. Вариант насчёт VBA и тупо перебора каждой ячейки, сравнения, и копирования не подходит так как в принципе тоже самое и кода немеренно. Хотя в принципе я многого не знаю так что пишите любые предложения я всё попробую и всё обсудим
Страницы: 1
Наверх