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

Страницы: 1
Сохранение файла без Save / SaveAs
 
Обработки события (сохранения) нет точно - это проверял в первую очередь. Вряд ли файл поможет - там команда то простейшая ((
Ошибка при выравнивании текста в объединенной ячейке
 
With wtor.Range(wtor.Cells(iLastRow, 1), wtor.Cells(iLastRow, 3))
   .HorizontalAlignment = xlCenter
   .VerticalAlignment = xlCenter
End With
   Cells(iLastRow, 1) = "fgdfgd"

Может так надо?
Сохранение файла без Save / SaveAs
 
Коллеги, помогите советом, возможно ли сохранение файла без применения штатных команд .Save ли .SaveAs, каким-либо альтернативным способом?

Вопрос связан с проблемой неадекватного поведения Excel на ряде компов (на всё работает нормально) при сохранении макросом файла: Thisworkbook.Save начинает работать как SaveAs, после этого опять появляется Save, затем SaveAs и так далее ...

Сталкиваюсь с таким впервые, есть ли иные методы сохранения файла, допустим надстроек?
Или подскажите в чем может быть проблемы если кто-то сталкивался с подобным.

Спасибо всем откликнувшимся.
Число, кратное двум другим числам,
 
Руслан А., а можете пояснить логику формулы? Очень уж интересное решение ))
Спасибо.
Открытие нужной версии Excel
 
Да, с Application.Wait получилось.
Спасибо.
Открытие нужной версии Excel
 
The_Prist, вот что написано у microsofta (нашел после продолжительных поисков) "Если запущено несколько экземпляров Microsoft Excel, GetObject присоединяется к экземпляру, запущенному первым. Если первый экземпляр будет закрыт, другое обращение к GetObject присоединится ко второму запущенному экземпляру приложения и так далее." http://support.microsoft.com/kb/288902  Что мне не подходит.

Но, там же есть и путь решения проблемы:
Присоединить можно и конкретный экземпляр приложения, если знать имя открытого в этом экземпляре документа. Например, если экземпляр Excel запущен с открытой книгой под названием Book2, с помощью следующего кода можно успешно присоединить этот экземпляр в том случае, если он был запущен не первым:

Set xlApp = GetObject("Book2").Application


Т.е. теперь привязаться к этому файлу я могу. Но я обнаружилась новая проблема )  
Файл при загрузке через shell (shell "весь путь для нужного\excel.exe " & """" & имя_файла & """"), как я понимаю, не всегда успевает загрузиться. Если делать пошагово и ответить на выскакивающие вопросы об ограниченном доступе к файлу, то всё ОК.
но при работе макроса в обычном режиме пока вопрос о доступе висит макрос идет дальше и getobject определяет не тот экземпляр приложения.

Т.е. нужно заставить макрос затормозить (Doevents что-то не помог) пока не будет ответа на вопрос при открытии файла при помощи shell.
Ну или заставить открыться файл без этих вопросов.  

Что посоветуете?
Открытие нужной версии Excel
 
ZVI, я уже пробовал так делать. Хоть из 2003, хоть из 2010 у меня всё равно запускается 2010 (

попробовал как The_Prist предложил - через shell открыть нужный excel получается, но как теперь обращаться к этому новому excel, чтобы необходимые изменения в нужном файле делать в нем?

Спасибо.
Изменено: Сергей М - 17.12.2013 09:51:57 (попробовал предложения )
Открытие нужной версии Excel
 
Добрый день, знатоки Excel!
Подскажите пжл можно ли из VBA Excel открыть нужную версию Excel (2003, 2007 или 2010)?
Эти версии не очень дружат между собой и зачастую портят файлы (например файл 2003 после открытия и сохранения в 2010, но в формате 2003, может местами глючить). Поэтому и есть потребность в открытии конкретной необходимой версии Excel (которые конечно же установлены на компе).

Стандартный код открытия нового excel открывает конечно же подобный себе excel (из 2003 открывает 2003, из 2010 открывает 2010).
dim ex as new excel.application
set ex=createobject("excel.application")

А как из 2010 открыть 2003?

Всем неравнодушным заранее СПАСИБО.
Отключение библиотек в 2007 Excel
 
Да нет, доверие к VBA  проекту ставил, про это я в курсе.
Отключение библиотек в 2007 Excel
 
Уважаемые знатоки, подскажите пжл.
при открытии файла делаю отключение ошибочных (MISSING) библиотек.

Dim oRef, oRefs As Object
Set oRefs = ThisWorkbook.VBProject.References
For Each oRef In oRefs
 If oRef.isBroken Then oRefs.Remove oRef
Next

В 2003 и 2010 Excel всё отлично работает, но вот в 2007 для ошибочных библиотек REMOVE не работает (если правильно понимаю, то Excel не может определить имя этой бибилотеки).

Как это можно победить?

Заранее благодарен за ответ.
Страницы: 1
Наверх