VISXAN Пользователь Сообщений: 135 |
#1 10.09.2013 15:07:04 Здравствуйте. Подскажите пожалуйста, как открыть книгу через VBA, чтоб она открывалась в фоне, а не становилась активной. Код ниже открывает книгу и делает ее активной. А надо чтобы оставалась открытой в фоне.
|
||
Михаил С. Пользователь Сообщений: 10514 |
#2 10.09.2013 15:12:19
Изменено: Михаил С. — 10.09.2013 15:13:12 |
||
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
Или активировать затем окно «основной» книги. |
VISXAN Пользователь Сообщений: 135 |
Понятно. Спасибо. Сделал книгу изначально скрытой, теперь при открытии она не мешает. Но в конце макроса мне надо написать код, чтоб сделать ее видимой. |
ber$erk Пользователь Сообщений: 2735 |
а как вы книгу делаете невидимой? Вот и идите от обратного Учимся сами и помогаем другим… |
VISXAN Пользователь Сообщений: 135 |
#6 10.09.2013 16:16:05 Невидимой сделал вручную и сохранил. А теперь с помощью кода надо сделать видимой.
не получается. Изменено: VISXAN — 10.09.2013 16:21:08 |
||
Hugo Пользователь Сообщений: 23249 |
#7 10.09.2013 16:20:38
|
||
VISXAN Пользователь Сообщений: 135 |
#8 10.09.2013 16:29:35
этот код открывает книгу скрытой (даже если она такой не является), поэтому от него отказался.
Далее, после определенной процедуры VBA (заполнения данной книги данными), нужно сделать книгу видимой. Этот код не помогает:
Изменено: VISXAN — 10.09.2013 16:31:03 |
||||||
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#9 10.09.2013 16:39:06 Вы сами себя слышите?
Поэтому открываю книгу и тут же делаю ее невидимой
Я сам — дурнее всякого примера! … |
||||
Hugo Пользователь Сообщений: 23249 |
Т.к. форум тормозит с screenupdating — диалог получается интересным |
VISXAN Пользователь Сообщений: 135 |
KuklP, да не делаю я ее скрытой. Она сама скрытая, куда ее еще скрывать. |
Михаил С. Пользователь Сообщений: 10514 |
#12 10.09.2013 16:49:43
Изменено: Михаил С. — 10.09.2013 16:52:46 |
||
VISXAN Пользователь Сообщений: 135 |
Михаил С., спасибо Вам большое. Четко и просто. |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#14 10.09.2013 16:57:50 Миша, мож так?
Я сам — дурнее всякого примера! … |
||
Без разницы. Но так наверно проще. Изменено: Михаил С. — 10.09.2013 17:02:47 |
|
VISXAN Пользователь Сообщений: 135 |
#16 10.09.2013 17:03:18 А что делает этот код?
|
||
удаляет GetObject. зы. ежели что — я сам ангелького не понимаю. Пользуюсь переводчиком Изменено: Михаил С. — 10.09.2013 17:08:35 |
|
VISXAN Пользователь Сообщений: 135 |
Ах да, ступил. Удаляет присвоенное значение. Ну или присваивает ничего)) Изменено: VISXAN — 10.09.2013 17:30:37 |
Максим Пользователь Сообщений: 268 |
#19 09.04.2019 20:00:14 подскажите пожалуйста как сделать чтобы не моргало на
Application.ScreenUpdating = False — не помогает Изменено: Максим — 09.04.2019 22:01:33 |
||
Максим Пользователь Сообщений: 268 |
#20 09.04.2019 20:42:23 пока решил так:
но что-то кажется что слишком тяжёлая артиллерия Изменено: Максим — 09.04.2019 20:42:55 |
||
I want to search through existing Excel files with a macro, but I don’t want to display those files when they’re opened by the code. Is there a way to have them open «in the background», so to speak?
Teamothy
1,9903 gold badges15 silver badges24 bronze badges
asked Feb 23, 2009 at 23:08
1
Not sure if you can open them invisibly in the current excel instance
You can open a new instance of excel though, hide it and then open the workbooks
Dim app as New Excel.Application
app.Visible = False 'Visible is False by default, so this isn't necessary
Dim book As Excel.Workbook
Set book = app.Workbooks.Add(fileName)
'
' Do what you have to do
'
book.Close SaveChanges:=False
app.Quit
Set app = Nothing
As others have posted, make sure you clean up after you are finished with any opened workbooks
answered Feb 23, 2009 at 23:25
Patrick McDonaldPatrick McDonald
63.7k14 gold badges106 silver badges118 bronze badges
5
If that suits your needs, I would simply use
Application.ScreenUpdating = False
with the added benefit of accelerating your code, instead of slowing it down by using a second instance of Excel.
answered Aug 13, 2009 at 15:46
iDevlopiDevlop
24.6k11 gold badges89 silver badges147 bronze badges
3
To open a workbook as hidden in the existing instance of Excel, use following:
Application.ScreenUpdating = False
Workbooks.Open Filename:=FilePath, UpdateLinks:=True, ReadOnly:=True
ActiveWindow.Visible = False
ThisWorkbook.Activate
Application.ScreenUpdating = True
answered Jan 16, 2012 at 11:54
AshokAshok
1,0743 gold badges14 silver badges24 bronze badges
2
Using ADO (AnonJr already explained) and utilizing SQL is possibly the best option for fetching data from a closed workbook without opening that in conventional way. Please watch this VIDEO.
OTHERWISE, possibly GetObject(<filename with path>)
is the most CONCISE way. Worksheets remain invisible, however will appear in project explorer window in VBE just like any other workbook opened in conventional ways.
Dim wb As Workbook
Set wb = GetObject("C:MyData.xlsx") 'Worksheets will remain invisible, no new window appears in the screen
' your codes here
wb.Close SaveChanges:=False
If you want to read a particular sheet, need not even define a Workbook variable
Dim sh As Worksheet
Set sh = GetObject("C:MyData.xlsx").Worksheets("MySheet")
' your codes here
sh.Parent.Close SaveChanges:=False 'Closes the associated workbook
answered Jan 22, 2021 at 16:03
5
A much simpler approach that doesn’t involve manipulating active windows:
Dim wb As Workbook
Set wb = Workbooks.Open("workbook.xlsx")
wb.Windows(1).Visible = False
From what I can tell the Windows index on the workbook should always be 1
. If anyone knows of any race conditions that would make this untrue please let me know.
answered Jul 13, 2016 at 18:40
wooobiewooobie
3452 silver badges12 bronze badges
Even though you’ve got your answer, for those that find this question, it is also possible to open an Excel spreadsheet as a JET data store. Borrowing the connection string from a project I’ve used it on, it will look kinda like this:
strExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & objFile.Path & ";Extended Properties=""Excel 8.0;HDR=Yes"""
strSQL = "SELECT * FROM [RegistrationList$] ORDER BY DateToRegister DESC"
Note that «RegistrationList» is the name of the tab in the workbook. There are a few tutorials floating around on the web with the particulars of what you can and can’t do accessing a sheet this way.
Just thought I’d add.
answered Aug 13, 2009 at 15:58
AnonJrAnonJr
2,7491 gold badge28 silver badges39 bronze badges
4
The problem with both iDevlop’s and Ashok’s answers is that the fundamental problem is an Excel design flaw (apparently) in which the Open method fails to respect the Application.ScreenUpdating setting of False. Consequently, setting it to False is of no benefit to this problem.
If Patrick McDonald’s solution is too burdensome due to the overhead of starting a second instance of Excel, then the best solution I’ve found is to minimize the time that the opened workbook is visible by re-activating the original window as quickly as possible:
Dim TempWkBk As Workbook
Dim CurrentWin As Window
Set CurrentWin = ActiveWindow
Set TempWkBk = Workbooks.Open(SomeFilePath)
CurrentWin.Activate 'Allows only a VERY brief flash of the opened workbook
TempWkBk.Windows(1).Visible = False 'Only necessary if you also need to prevent
'the user from manually accessing the opened
'workbook before it is closed.
'Operate on the new workbook, which is not visible to the user, then close it...
answered Jul 22, 2014 at 19:07
pstratonpstraton
1,04014 silver badges9 bronze badges
4
Open the workbook as hidden and then set it as «saved» so that users are not prompted when they close out.
Dim w As Workbooks
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Set w = Workbooks
w.Open Filename:="\serverPriceList.xlsx", UpdateLinks:=False, ReadOnly:=True 'this is the data file were going to be opening
ActiveWindow.Visible = False
ThisWorkbook.Activate
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
w.Item(2).Saved = True 'this will suppress the safe prompt for the data file only
End Sub
This is somewhat derivative of the answer posted by Ashok.
By doing it this way though you will not get prompted to save changes back to the Excel file your reading from. This is great if the Excel file your reading from is intended as a data source for validation. For example if the workbook contains product names and price data it can be hidden and you can show an Excel file that represents an invoice with drop downs for product that validates from that price list.
You can then store the price list on a shared location on a network somewhere and make it read-only.
answered Jul 18, 2014 at 17:19
1
Open them from a new instance of Excel.
Sub Test()
Dim xl As Excel.Application
Set xl = CreateObject("Excel.Application")
Dim w As Workbook
Set w = xl.Workbooks.Add()
MsgBox "Not visible yet..."
xl.Visible = True
w.Close False
Set xl = Nothing
End Sub
You need to remember to clean up after you’re done.
answered Feb 23, 2009 at 23:43
guillermoooguillermooo
7,83515 gold badges53 silver badges58 bronze badges
1
In excel, hide the workbooks, and save them as hidden. When your app loads them they will not be shown.
Edit: upon re-reading, it became clear that these workbooks are not part of your application. Such a solution would be inappropriate for user workbooks.
answered Feb 23, 2009 at 23:18
JohnWJohnW
2,9621 gold badge27 silver badges30 bronze badges
Как открыть файл в скрытом режиме для пользователя?
Смотрите также начинаю (пусть она
сохраняет в туже ComboBox3.ListIndex = 0 держать открытым client.xlsm), Нужно чтобы рабочая тоже производиться в у вас книга Filename» подчеркнута: файл)Margot
дело — обязательно objXL.Quit заработало. Нужен только Len(ActiveWorkbook.name) — 5) «75» ‘ширина столбцовUchimata называется Книга1.xlsm). папку) книгу с Private Sub CommandButton72_Click() то все связи постоянно была активна фоновом режиме в
закрывается без сохранения,Sub update()Ну и ответыИ что значит: Здравствуйте,ActiveWorkbook.Close SaveChanges:=True ‘убираем указатель наSet objXL = Nothing
‘имя минус .XLS .ListRows = 10
CyberForum.ru
Как активировать файл excel из фонового режима | MS Word
: Доброе утро!Я работаю с названием Dim fName As обновляются.
webley этой книге. Но это правильно?With Application на Ваши вопросы ? -Можете ли вы
Имя = Dir excel Set objXLPrivate Sub CommandButton2_Click() — 4 символа ‘значений в раскрытом
Хотел бы узнать новой книгой, ноDate & «.xlsx»,
Variant fName =ПРОБЛЕМА:: а расчеты в в этом случае
@Nik.ScreenUpdating = False
-Margot пояснить поподробнее кодLoop = Nothing ‘убираем Dim sFilePath, objXL,этот вариант я списке End With как открыть файл в ней нет. Потом в «C:ПечатьДокументаxlsmDBoss.xlsm» Set fNameНо, если нет макрос перенести не расчет не происходит.: Ну не знаю….DisplayAlerts = False1. нужно присвоить: Имеется ввиду что данный выше?============================================================== файл из фонового Secur sFilePath = пробовал, выводит сообщение
Me.ComboBox3.List = wс.Worksheets(«Руководство»).Range(«СписокФИОВсе»).Value в скрытом режиме макросов, и потому этой книге макросы = CreateObject(«excel.application») ‘Application.GetOpenFilename
открытого приложения Excel, вариант?Валерий
Если автоматическое обновлениеmacrosMAJ = «C:UsersE500892DesktopFichier переменной «папка» значение нужно писать на
Sub update()С доработкой вероятно режима End Sub «C:ПечатьДокументаxlsmРедактированиеДанных.xlsm» ‘ActiveDocument.Path & на сохранить или
ComboBox3.ListIndex = 0 от пользователя,необходимо открыть мне нужна первая
выполняют некоторые действия fName = Left(ActiveWorkbook.name,
то при попыткеВалерий: Так как имена включено, то попробуйте de SUIVIMBAV BarèmesmacrosMAJ» полного пути к месте слов «Папка»
With Application ‘операции так:
Private Sub CommandButton31_Click() ‘objXL.WorkBooks.Close ‘objXL.Quit Set нет и все Private Sub CommandButton72_Click() и закрыть несколько книга. — какие, не
Len(ActiveWorkbook.name) — 5) обновления связей PowerPoint
: Не работает
файлов кодируются, надо ещё так:origine = Dir(macrosMAJ той папке, где и «Имя»: с приложением/отключаем дляCode200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub update() CreateObject(«wscript.shell»).Run «C:ПечатьДокументаxlsmDBoss.xlsm» Unload
objXL = Nothing равно открывается в Dim fName As файлов,но очень неRAN суть важно.
‘имя минус .XLS пытается открыть «фоново»Валерий пояснить:Sub new_calculation() & «*.xls*»)
лежит файл. ПримерноЯ написала этот
повышения скорости работыWith Application’операции с
Me End SubВсе, Set objXL = режиме чтения. Variant fName =
нравится что они: В таком разеВопрос, как мою — 4 символа
client.xlsm (с поддержкой: Не вариант -post_179806.xls — этоSet objExcel =
Do While origine вот так код таким образом,что макроса приложением/отключаем для повышения Всем УДАЧИ! CreateObject(«Excel.Application») ‘ получаемАватар-С «C:ПечатьДокументаxlsmDBoss.xlsm» Set fName появляются на панели тебе нужна надстройка. книгу открыть в Workbooks(fName).Activate End Sub макроса) и валится очень много обрабатываемых main.xls New Excel.Application
<> «»КодПапка = «c:UsersМояПрочееДля_Excel» подставила вместо слова.ScreenUpdating = False скорости работы макросаELLE указатель на Application
: Писал же! = CreateObject(«excel.application») ‘Application.GetOpenFilename и исчезают.Можно ли Она при запуске фоновом режиме, иВернуться к обсуждению: в ошибку: даных а экселевскийpost_179808.xls — этоSet wbhidden =With Workbooks.Open Filename:=macrosMAJ2. КодИмя = «папка» имя папки,где ‘обновление экрана.ScreenUpdating = False’обновление: Доброго времени суток!
objXL.Visible = True
_shark
fName = Left(ActiveWorkbook.name, это избежать?? невидима, но макросы
по закрытии книги,Как активировать файл»Во время последнего движок существенно быстрее calculate.xls objExcel.Workbooks.Open(«D:calculate.xlsb») & origine, UpdateLinks:=True Dir(Папка & «*.xls*») находятся файлы, которые.DisplayAlerts = False экранаПомогите пожалуйста!!!! ‘ делаем окно: Уже убрал. Len(ActiveWorkbook.name) — 5)Sub Обновление() Application.AskToUpdateLinks в ней работают. с которой она
excel из фонового
открытия документа «Client.xlsm» чем рукописный макрос.
webleywbhidden.Sheets(«RES_1»).Cells.Dirty.Close SaveChanges:=True «Имя» — это нужно обновить (macrosMAJ)
‘вывод системных сообщений.DisplayAlerts = False’выводИмеется группа экселевских Excel видимым SetТеперь вообще не
‘имя минус .XLS = False Application.DisplayAlerts
Создается либо сохранением работает (и только режима | MS Произошла серьезная ошибка.
@Nik
: Я думаю, делоwbhidden.Close FalseEnd With переменная. С тем и вместо «Имя»Папка (имеется ввиду системных сообщений файлов (около 400),
wс = objXL.WorkBooks.Open(sFilePath) чего не происходит,
— 4 символа = False Workbooks.Open как надстройка (Книга1.xlam), этой книги) сохранить Word Продолжить его открытие?»: А если сделать в том, чтоSet objExcel =origine = Dir же успехом можно — имя файла что надо прописатьПапка = «полный данные из которых End SubЯ ведь не ругается не Workbooks(fName).Activate End Sub «…Файл.xls» ActiveWorkbook.RunAutoMacros xlAutoOpen либо поставить свойство и закрыть обе?Следующий ответПроблемы нет в так: в когда открывается NothingLoop было назвать «Imya». в котором изменяются
CyberForum.ru
!!!!! ОБНОВЛЕНИЕ ФАЙЛОВ БЕЗ ОТКРЫТИЯ!!!!!
имя папки ?)= путь папки»
сводятся в отдельном
это и прислал открывает.Аватар-С ActiveWorkbook.Save ActiveWorkbook.Close Workbooks.Open IsAddin (в модуле
зы. Только мнеdimanoid случае фонового открытияSub new_calculation() книга в другомEnd Sub.ScreenUpdating = True
Кстати, как и данные (origine): «полный путь папки»’———— Excel-файлы в файле.
в архиве СмАватар-С: Вот смотри верхняя «…Файл2.xlsx» ActiveWorkbook.RunAutoMacros xlAutoOpen книги) True (Книга1.xlsm)
не надо направление,: ДАНО: обычного xlsx-файла (БЕЗWorkbooks.Open («D:calculate.xls») экземпляре Excel, тоИли попробуйте вставить.DisplayAlerts = True
«папка». Просто авторSub update()’———— Excel-файлы в этой папке ——————
Данные в каждом #14: Приложил бы файл
строка fName - ActiveWorkbook.Save ActiveWorkbook.Close Application.AskToUpdateLinksНо если просто пальцем укажите, если
MS Office 2010
макросов) Предполагаю, чтоWindows("calculate.xls").Visible = False связи между ячейками
Application.Calculation = xlCalculationManualEnd With
макроса посчитал, чтоWith Application
этой папке ------------------Имя = Dir(Папка
файле зависят от_shark и toiai
пример, легче было объект, нижняя -
= False Application.DisplayAlerts убрать с глаз это действие возможно
client.xlsm (с поддержкой
проблема с фоновым
Workbooks("calculate.xls").Close False
просто нет. А
Application.Calculation = xlCalculationAutomaticEnd Sub
так будет понятнее
.ScreenUpdating = FalseИмя (о каком & «*.xls*»)
даты, которая забиваетсяСпасибо за участие!
осознать проблему. строка определись?
= False Workbooks.Open долой — тогда
Гость макроса)
открытием именно xlsm-файлаApplication.Visible = True
почему не сделатьHugo
Валерий
Margot.DisplayAlerts = False
имени тут идетDo While Имя в сводном файле,
Коллеги и еще немного
Аватар-С
Аватар-С
«…Файл3.xlsx» ActiveWorkbook.RunAutoMacros xlAutoOpen
Visible.: visible=false
top.pptx — презентация (безопасность?)
End Sub
просто вот так?
: А как Вы: Добрый день. Столкнулся: Спасибо за ответ!ТеперьmacrosMAJ = «C:Users…macrosMAJ» речь?)= Dir(Папка & <> «» и на которую
о наболевшем.: Да, Коллеги прошу
: ActiveWorkbook.Save ActiveWorkbook.Close End
Michael_S
Michael_S со внедренными (связанными)
Что можно сделать/попробовать?
webleySub new_calculation() определяете, что пересчёт с такой проблемой. это понятно.origine = Dir(macrosMAJ
«*.xls*») (имя папкиWith .Workbooks.Open _
ссылаются эти отдельныеtoiai
прощенья с этого
toiai
Sub: Спасибо, с вопросом
: Пробую для проверки
диапазонами и диаграммами (С галками в
: ЗдОрово! Надо наWorkbooks.Open («D:calculate.xls») не происходит?
Пытаюсь запустить из
Переделала, но все & "*.xls*") & "*.xls*"?)(Filename:=Папка & Имя,
файлы.прошу прощенья не
следовало начать.Материться желтым цветом
Vlad999 Visible разобрался..200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ttt1() из client.xlsm
Центре безопасности Excel будущее запомнить…
Application.Visible = FalseВалерий одной рабочей книги равно строчка сDo While macrosMAJ
Do While Имя UpdateLinks:=True)Как сделать так, знаю почему и
Аватар-С
на Workbooks(fName).Activate (Sub: Sub Макрос1() Application.ScreenUpdating
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Windows(«книга1.xlsx»).Visible=falseWorkbooks(3).Visible = FalseПри открытии top.pptx
и PowerPoint уже
Валерий
Workbooks(«calculate.xls»).Close False
: Да, правильно. Она
вторую (вспомогательную, в «With Workbooks.Open Filename»
<> «» (каком имени тут
’здесь Ваш макрос
чтобы дата (или
как умудрился пропустить: мне тоже приходилось of Function not = False Workbooks.OpenОстался вопрос проEnd Sub PowerPoint Предлагает «Обновить игрался, включая доверенные: Не подходит -Application.Visible = True только считает и
которой будет осуществляться
подчеркивается :With .Workbooks.Open _ идет речь?) <>
делает свое грязное ссылка) в тих Ваш вложенный файл.
в одном из defined) «D:таблица для заказа закрытие и сохранение.-ошибка связи». Если к файлы и места
книга-то все равноEnd Sub
возвращает данные в расчет, исходя изSub update()(Filename:=macrosMAJ & origine, «»
дело файлах обновлялась автоматическиСтал имплантировать код своих макросов открывать_shark панелей..xls», UpdateLinks:=True ‘вашаRANWorkbooks(3).Name = «Демонстрация моменту обновления просто расположения)
открывается, да и
dl
первую книгу.
параметров первой книги)
With Application
UpdateLinks:=True)КодWith .Workbooks.Open _
.Close SaveChanges:=True без открытия файла???
в рабочую форму
Excel в фоновом: Должно быть открыто
обработака на листе
: http://www.excelworld.ru/forum/2-2140-1
(001_1).xlsm", открыта.
открыт даже "пустой"
Аватар-С
Visible отключать смысла
: задача
Валерий
в фоновом режиме.ScreenUpdating = False.Close SaveChanges:=True(Filename:=Папка & Имя,
End With
Или, может, есть и опять файл
(невидимом) режиме и в одном окне,
ActiveWorkbook.Close Application.ScreenUpdating =Michael_SRAN Excel (не обязательно:
нет, т.е.книга потоместь расчётная книга: Данные не возвращаются. и выполнить расчет.
.DisplayAlerts = FalseEnd With
UpdateLinks:=True)Имя = Dir какая-то программка, которая
открывается в режиме получать/сохранять оттуда данные. а у тебя True End Sub: Спасибо, но не
: Погляди в сторону
держать открытым client.xlsm),Здравствуйте Коллеги! все-равно закрывается.
которая содержит ссылки Причем пересчет в Код такой:
macrosMAJ = «C:UsersE500892…macrosMAJ»origine = Dir’здесь Ваш макросLoop бы запускала обновление только чтение.
Такая ситуация с
в разных.Uchimata совсем то, что GetObject то все связиПрошу помощи вwebley на данные рабочей обычном режиме занимаетSub new_calculation()
origine = Dir(macrosMAJLoop делает свое грязное
.ScreenUpdating = True’обновление этих файлов вВ общем проблему режимом «только для
Попробуй использовать GetObject,
: Спасибо большое!!Очень помогли!
мне надо. второй
Set CADObject =
обновляются.
решении следующей ситуации.: А в чем
книги довольно длительное время,
Set objExcel = & "*.xls*")
.ScreenUpdating = True
дело
экрана
определенное время?
решил следующим кодом:
чтения" была тогда,
у меня проверить
Аватар-С
вопрос — создам GetObject(«C:CADDate & «.xlsx»»)ПРОБЛЕМА:Есть форма в проблема тогда? Можнов ней есть а в фоновом New Excel.ApplicationDo While origine
.DisplayAlerts = True.Close SaveChanges:=True
.DisplayAlerts = True’выводSerge_007CreateObject(«wscript.shell»).Run «C:ПечатьДокументаxlsmDBoss.xlsm» когда в памяти нет возможности.
: другую тему.После такого открытияНо, если нет документе word она подумать, что в ячейки «итого» содержащие
книга только открывается
Set wbhidden =
<> ""
End With
End With системных сообщений
: Без открытия боюсьЗдравствуйте Коллеги!
находилось два процессаАватар-С
Здравствуйте Коллеги!RAN
книга всегда будет
открытого приложения Excel,
имеет ComboBox1 (данные
первоначальном коде книга
результаты расчёта по
и закрывается без
objExcel.Workbooks.Open("D:calculate.xlsb")
With Workbooks.Open Filename:=macrosMAJ
excelworld.ru
Расчет книги в фоновом режиме
End SubИмя = DirEnd With не получится. НоДля очистки совести Excel. Через Диспетчер: все равно ругаетсяПрошу помощи в: Тогда поподробнее, можно открываться скрытой. Чтобы то при попытке приходят из таблицы
не открывалась… Пользователь
ссылочным данным рабочей каких-либо действий и
objExcel.Workbooks(«calculate.xlsb»).Sheets(«RES_1»).Calculate & origine, UpdateLinks:=True
Но код не
Loop
End Sub можно открывать файлы
возвращаюсь к теме.
Задач закройте всеDim fName As решении следующей ситуации.
с примерчиком и при ручном открытии
обновления связей PowerPoint
excel «Книга1.xlsm» которая не видит -
книги быстро.
wbhidden.Close False
.Close SaveChanges:=True
работает и подчеркивает
.ScreenUpdating = TrueELLE
в фоновом режиме,
После вставки кода: Excel-евские процессы, а Object Set fNameЕсть форма в кодом.
она отображалась, ее пытается открыть «фоново» запущена в фоновом
цель достигнута. Илив рабочей книгеВалерийSet objExcel =End With
ошибку в строке ‘обновление экрана: Hugo, спасибо большое! так что пользовательCreateObject(«wscript.shell»).Run «C:ПечатьДокументаxlsmDBoss.xlsm»Все вроде
потом уже пробуйте
= GetObject(«C:ПечатьДокументаxlsmDBoss.xlsm») fName документе word она
А то я перед сохранением необходимо
client.xlsm (с поддержкой
режиме).
нет? введены ссылки на
: Не помогает. Может
Nothing
origine = Dir
:
.DisplayAlerts = True Только не могли этого не увидит бы заработало но,
дальше = Left(ActiveWorkbook.name, Len(ActiveWorkbook.name) имеет ComboBox1 (данные совсем не понял, отобразить. Можешь поставить
макроса) и валитсяФорма также имеетВалерий ячейки итого расчётной я что-то принципиальноEnd SubLoopКодWith .Workbooks.Open _ ‘вывод системных сообщений бы Вы еще
ELLE при открытии файлаВот вариант не — 5) ‘имя
приходят из таблицы что нать.
свойство IsAddin (в в ошибку: CommandButton1 который должен
: Всем, кто мне книги не так делаю.Почему-то расчет не.ScreenUpdating = True
(Filename:=macrosMAJ & origine,End With объяснить как создать: Serge_007, что значит в Excel выходило в режиме чтения, минус .XLS - excel «Книга1.xlsm» которая
Аватар-С модуле книги) True.Тогда»Во время последнего вызывать файл «Книга1.xlsm» помогал спасибо. РешилпроблемаПрикреплю файлы, пожалуй. выполняется. Подскажите в.DisplayAlerts = True UpdateLinks:=True)End Sub макрос более подробно.
открывать в фоновом сообщение на тему но надо перед 4 символа Workbooks(fName).Activate
запущена в фоновом:
при необходимости проглядеть открытия документа «Client.xlsm»
для редактирования данных проблему следующим образом:ссылки на данные Вот первый чем проблема, пожалуйста.End With_Boroda_Извините за такие что за чем. режиме?
— файл уже
запуском формы в
Аватар-С
режиме).
_shark и toiai
книгу, нужно будет
Произошла серьезная ошибка. ComboBox1.
Sub open_reserv() рабочей книги естественноВалерий@Nik
End Sub: вопросы, но этоищу в сети,Я в excel
открыть ну и диспетчере задач закрыть: Как-то не логично:Форма также имеет
Спасибо за участие!
в модуле книги Продолжить его открытие?»Просто открыть неSet book = не обновляются, решено: Вот второй, который: Попробуйте сделать так:
Фомулист
Margot
единственное место где
не могу найти. новичок, можно сказать!
соответственно параметры входа. все процессы EXCEL
fName = Left(ActiveWorkbook.name, CommandButton1 который долженКоллеги и еще немного вручную или макросом
Проблемы нет в получиться, создается файл GetObject(«D:primercalculate.xlsb», «Excel.Sheet»)
открыть расчётную книгу считаетSub new_calculation(): Потому, что это: я сделала как
я нашла кодне так много Только учусь!Решить удалось следующим
shark Len(ActiveWorkbook.name) — 5)
вызывать файл «Книга1.xlsm» о наболевшем. сменить свойство IsAddin случае фонового открытия для чтения.book.Close False
в фоновом режиме@NikSet objExcel =
не полный путь
вы просили, но
на обновление файлов
времени.
Hugo
образом:
Это я, пробовал ‘имя минус .XLS для редактирования данных
toiai на False. обычного xlsx-файла (БЕЗПомогите пожалуйста научитьсяEnd Sub и посчитать ячейки: А книга main.xls
New Excel.Application к файлу. «…» весь код заменяется без открытия изаранее спасибо!: Нашёл в закромахPrivate Sub UserForm_Initialize() не помогает. — 4 символа
ComboBox1.прошу прощенья неНу и visible=false макросов) Предполагаю, что
активировать файл «Книга1.xlsm»
Все считает. Так «итого»
тоже открыта ?
Set wbhidden =
в пути быть на знак # так как я
planetaexcel.ru
Открытие из PowerPoint в ФОНОВОМ режиме xlsm-файла с макро (Ошибка при открытии из PPoint xlsM-файла в фоновом режиме)
Hugo — откуда взял,
Dim sFilePath, objXL
Аватар-С Workbooks(fName).ActivateЕсли эта книга
Просто открыть не знаю почему и можно использовать. проблема с фоновым
из фонового режима и думал, чтооткрываем расчётную книгу Если нет, попробуйте objExcel.Workbooks.Open(«D:calculate.xlsb») не должно. Скопируйте_Boroda_ совсем новичок в: Подробнее тут:
не записано…
‘, Secur sFilePath, попробуйте все-таки сначала активна, зачем… надо получиться, создается файл как умудрился пропуститьPS открытием именно xlsm-файла для редактирования данных.
какая-то принципиальная ошибка.обновляем связи открыть и её.wbhidden.Sheets(«RES_1»).Activate
и вставьте именно: А Вы где работе с макросамиhttp://www.excelworld.ru/publ/vba/first_step/excel_macro/39-1-0-114200?’200px’:»+(this.scrollHeight+5)+’px’);»>============================================================== = «C:ПечатьДокументаxlsmDBoss.xlsm» ‘ActiveDocument.Path закрыть объект
убрать для чтения. Ваш вложенный файл.200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub qq() (безопасность?)В ниже приведенномdimanoid
excelworld.ru
Как активировать файл excel из фонового режима | MS Word
пересчитываем расчётную книгуВалерийApplication.CalculateFull полный путь к кнопку нажимаете? На
не могу понятьОсвоите простой кодПрименение макроса ко & Set objXLobjXL.WorkBooks.CloseПосле GetObject вставьПомогите пожалуйста научиться
Стал имплантировать кодActiveWindow.Visible = FalseЧто можно сделать/попробовать? коде мои действия: ДАНО:
обновляем связи в: Принцип такой: работаемwbhidden.Close False
папке. клавиатуре? как его применить. — можете попробовать
всем файлам из = CreateObject(«Excel.Application») ‘получаем
, затем выйти строку активировать файл «Книга1.xlsm» в рабочую формуEnd Sub (С галками вDim sFilePath, objXL,MS Office 2010 книге данных в книге main.xls,Set objExcel =_Boroda_Нужно на панели.Спасибо за помощь! этот (но сперва папки указатель на ApplicationobjXL.QuitfName.Application.Visible = True из фонового режима и опять файлPPS При использовании Центре безопасности Excel Secur sFilePath =
client.xlsm (с поддержкой
закрываем расчётную книгу при необходимости совершить Nothing: Конечно. Слеш забыли Вот здесь
CyberForum.ru
Открытие из PowerPoint в ФОНОВОМ режиме xlsm-файла с макроcом
buchlotnik на тестовых файлах,
Папка = «полный
objXL.Visible = False, обнулить объект
Аватар-С для редактирования данных. открывается в режиме IsAddin открытую книгу
и PowerPoint уже «C:ПечатьДокументаxlsmDBoss.xlsm» Set objXL макроса) с сохранением! расчет открываем книгуEnd SubЦитатаMargot: Доступно только для
или на копии
путь папки» ‘делаем окно ExcelSet objXL = Nothing: можно попробовать закрытьВ ниже приведенном только чтение. не увидишь даже игрался, включая доверенные
= CreateObject(«Excel.Application») Settop.pptx — презентацияиначЕ при обновлении calculate.xls, происходит расчет,
Правда, будет выполнен_Boroda_, 10.10.2017 в: Спасибо за объяснение)) пользователей рабочих в спецпапке).’———— Excel-файлы в не видимым objXL.ScreenUpdating
, а затем уже открытую книгу, а коде мои действияВ общем проблему через меню Вид-Отобразить. файлы и места wс = objXL.Workbooks.Open(sFilePath)
planetaexcel.ru
Как при окрытии книги сделать ее «невидимой»?
со внедренными (связанными) связей в книге
результаты записываются в пересчёт всех открытых 10:20, в сообщении исправила_Boroda_Путь к папке этой папке —————— = False Set выполнять код по потом через ShellDim sFilePath, objXL, решил следующим кодом:Michael_S расположения)
With ComboBox3 .ColumnCount диапазонами и диаграммами данных получим старые main.xls книг, но зато № 16 ()_Boroda_: — Прочитайте Правила
пропишите вместоИмя = Dir(Папка wс = objXL.Workbooks.Open(sFilePath) повторному запуску Экселя
еще раз активировать Secur sFilePath =
CreateObject(«wscript.shell»).Run «C:ПечатьДокументаxlsmDBoss.xlsm»: RAN, мне нужно
Michael_S
= 2 'колличество
из client.xlsm
данные.
Загвоздка в том, и требуемая в
Папка = «c:UsersМояПрочееДля_Excel»: А теперь я форума
Папка = «полный & «*.xls*»)
‘ШТАМ Me.ComboBox24.List = для редактирования данных. Excel с параметром «C:ПечатьДокументаxlsmDBoss.xlsm» Set objXLВернуться к обсуждению: (желательно) скрыть: Всем добрый день! столбцов .ColumnWidths =При открытии top.pptxGuest что книга calculate.xls том числе.Margot Вас огорчу -- Оформите код
путь папки»Do While Имя
wс.Worksheets(«Штампы»).Range(«СписокШтампы»).Value ComboBox24.ListIndex =
_shark
fName, содержащим путь
= CreateObject("Excel.Application") Set
Как активировать файлне новуюСуть вопроса: у «75» ‘ширина столбцов
PowerPoint Предлагает «Обновить: Да, кстати, а должна открываться вВалерий: Исправила как вы видите в макросе тегами (в режименапример <> «» 0 ‘в принципе
, до нужной книги. wс = objXL.Workbooks.Open(sFilePath) excel из фоновогокнигу, а мою меня есть книга,
.ListRows = 10 связи». Если к метод Application.CalculateFullRebuild пробовали? фоновом режиме (т.е.: Пробовал, не помогает. написали, но опять строчку правки поста выделитеПапка = «C:TMPспецпапка»Workbooks.Open FileName:=Папка & нужно было разобраться
Хорошо пробую._shark With ComboBox3 .ColumnCount режима | MS
« при своем открытии ‘значений в раскрытом моменту обновления просто
Валерий чтобы пользователь ничего
Сижу, медитирую. не работает и
.Workbooks.Open код и нажмитеELLE Имя , UpdateLinks:=True с этими тремя_shark
: начинает ругаться на = 2 ‘колличество Wordосновную»
она также открывает списке End With открыт даже «пустой»
excelworld.ru
Как активировать файл excel из фонового режима | MS Word
: Тогда скроются все не заметил), иwebley
та же строчка
? Так вот, кнопку
: Hugo, спасибо!’здесь Ваш макрос строками wс.Close FalseО! Япона мама fName = Left(ActiveWorkbook.name,
столбцов .ColumnWidths =Следующий ответ, с которой я (или создает и Me.ComboBox3.List = wс.Worksheets(«Руководство»).Range(«СписокФИОВсе»).Value
Excel (не обязательно книги в приложении.
расчет, соответственно, должен
: А то что
с «With Workbooks.Open эта строка ОТКРЫВАЕТ#попробую! делает свое грязное
CyberForum.ru
‘закрываем файл False
Содержание
- Vba открыть файл excel скрыть
- Скрытие листов и использование константы xlVeryHidden в макросе
- Аннотация
- Дополнительные сведения
- Скрытие листа с помощью команд меню
- Скрытие листа с помощью макроса Visual Basic
- Пример кода Visual Basic
- Excel works!
- Excel works!
- Как сделать очень скрытый лист Excel?
- Очень скрытый лист. Подготовка
- 1. Можно открыть очень скрытый лист Excel при помощи макроса
- 2. Или сменив свойства листа в VBA, чтобы получить очень скрытый лист excel
- Открыть файл Excel для чтения с помощью VBA без отображения
- 9 ответов
- Работа с внешним Excel файлом из VBA
- Открытие файла Excel
- Альтернативный вариант открытия файла
- Записать книгу и закрыть
Vba открыть файл excel скрыть
Всем добрый день!
Суть вопроса: у меня есть книга, при своем открытии она также открывает (или создает и сохраняет в туже папку) книгу с названием Date & «.xlsx», . Потом в этой книге макросы выполняют некоторые действия — какие, не суть важно.
Вопрос, как мою книгу открыть в фоновом режиме, и по закрытии книги, с которой она работает (и только этой книги) сохранить и закрыть обе?
зы. Только мне не надо направление, пальцем укажите, если это действие возможно
Всем добрый день!
Суть вопроса: у меня есть книга, при своем открытии она также открывает (или создает и сохраняет в туже папку) книгу с названием Date & «.xlsx», . Потом в этой книге макросы выполняют некоторые действия — какие, не суть важно.
Вопрос, как мою книгу открыть в фоновом режиме, и по закрытии книги, с которой она работает (и только этой книги) сохранить и закрыть обе?
зы. Только мне не надо направление, пальцем укажите, если это действие возможно Michael_S
Сообщение Всем добрый день!
Суть вопроса: у меня есть книга, при своем открытии она также открывает (или создает и сохраняет в туже папку) книгу с названием Date & «.xlsx», . Потом в этой книге макросы выполняют некоторые действия — какие, не суть важно.
Вопрос, как мою книгу открыть в фоновом режиме, и по закрытии книги, с которой она работает (и только этой книги) сохранить и закрыть обе?
зы. Только мне не надо направление, пальцем укажите, если это действие возможно Автор — Michael_S
Дата добавления — 20.03.2013 в 21:18
Источник
Аннотация
В Microsoft Excel можно скрыть листы в книге, чтобы пользователь не отображал их. В книге можно скрыть лист любого типа, но всегда должен быть виден хотя бы один лист.
Дополнительные сведения
Скрытие листа с помощью команд меню
Чтобы скрыть лист, наведите указатель мыши на пункт «Лист» в меню «Формат» и нажмите кнопку «Скрыть». Чтобы отобразить лист, наведите указатель на пункт «Лист» в меню «Формат» и нажмите кнопку «Отобразить». Выберите соответствующий лист и нажмите кнопку «ОК».
Невозможно скрыть листы модулей, так как они отображаются в редакторе Visual Basic.
Скрытие листа с помощью макроса Visual Basic
Вы также можете скрыть или отобразить лист с помощью макроса Visual Basic для приложений майкрософт. При использовании кода Visual Basic можно использовать свойство xlVeryHidden, чтобы скрыть лист и не отображать его в диалоговом окне «Отобразить». При этом единственный способ снова сделать лист видимым — создать другой макрос Visual Basic.
В макросе Visual Basic используйте свойство Visible, чтобы скрыть или отобразить лист. Для свойства Visible можно задать значение True, False или xlVeryHidden. Значения True и False имеют тот же эффект, что и при использовании команд меню «Отобразить» или «Скрыть». Аргумент xlVeryHidden скрывает лист, а также не отображает диалоговое окно «Отобразить».
Пример кода Visual Basic
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональные возможности конкретной процедуры, но они не будут изменять эти примеры, чтобы предоставить дополнительные функциональные возможности или процедуры создания в соответствии с конкретными требованиями. В следующих примерах показано, как использовать свойство Visible объекта Sheet.
В следующем примере показано, как использовать аргумент xlVeryHidden свойства Visible для скрытия листа:
Источник
Excel works!
Excel работает за вас
Excel works!
Thanks for Visiting
Как сделать очень скрытый лист Excel?
Что если лист книги Excel никто не должен увидеть, но вам через некоторое время может понадобиться информация на листе? Как сделать просто скрытый лист все вроде знают, Правой кнопкой по листу — скрыть. Но как сделать очень скрытый лист Excel?
Очень скрытый лист. Подготовка
Для начала вам нужно включить вкладку в меню «Разработчик».
Нажимаете кружок в левом верхнем углу — Параметры Excel — Основные — Показать вкладку «Разработчик».
Появляется вкладка на ленте правее вкладки Вид.
Теперь выбираем лист в нижней панели (делаем активным) — на вкладке «Разработчик» (Рисунок 2) выбираем пункт Свойства. Появляется меню из Рисунка 1.
В этом окне в свойстве «Visible» выбираем параметр «2 — xlSheetVeryHidden».
Все, лист пропал.
Открыть его теперь можно только через VBA (да-да, там, где макросы )
1. Можно открыть очень скрытый лист Excel при помощи макроса
2. Или сменив свойства листа в VBA, чтобы получить очень скрытый лист excel
Открываем VBA ( Alt + f11 ) . Выбираем нужный лист. Если нет меню свойств листа (Рисунок 1) жмем f4. Возвращаем свойству «Visible» параметр «-1 — xlSheetVisible».
Если вы работаете с продвинутыми пользователями, и они могут зайти в настройки VBA и смогут сделать его видимым, есть специальный способ, но это пока секрет!
Пишите комментарии, если будет спрос, напишу, как это сделать 😉
Источник
Открыть файл Excel для чтения с помощью VBA без отображения
Я хочу искать существующие файлы Excel с макросом, но я не хочу отображать эти файлы, когда они открываются кодом. Есть ли способ открыть их «на заднем плане», так сказать?
9 ответов
Не уверен, что вы можете открыть их невидимо в текущем экземпляре excel
вы можете открыть новый экземпляр excel, хотя, скрыть его, а затем открыть книги
Как и другие опубликовали, убедитесь, что вы очистите после того, как закончите с любыми открытыми книгами
Если это соответствует вашим потребностям, я бы просто использовать
с дополнительным преимуществом ускорения кода вместо замедления его с помощью второго экземпляра Excel.
хотя у вас есть ответ, для тех, кто находит этот вопрос, также можно открыть электронную таблицу Excel в качестве хранилища данных JET. Заимствование строки подключения из проекта, в котором я ее использовал, будет выглядеть примерно так:
обратите внимание, что» RegistrationList » — это имя вкладки в книге. Есть несколько учебников, плавающих в интернете с подробностями того, что вы можете и не можете сделать, получая доступ к листу таким образом.
просто думаю, я добавлю. 🙂
чтобы открыть книгу, скрытую в существующем экземпляре Excel, используйте следующее:
гораздо более простой подход, который не включает в себя управление активными окнами:
из того, что я могу сказать, индекс Windows в книге всегда должен быть 1 . Если кто-нибудь знает о каких-либо условиях гонки, которые сделают это неправдой, пожалуйста, дайте мне знать.
проблема с ответами iDevlop и Ashok заключается в том, что фундаментальной проблемой является недостаток дизайна Excel (по-видимому), в котором метод Open не уважает приложение.ScreenUpdating установка False. Следовательно, установка его в False не имеет никакой пользы для этой проблемы.
Если решение Patrick Mcdonald’s слишком обременительно из-за накладных расходов на запуск второго экземпляра Excel, то лучшим решением, которое я нашел, является минимизация времени открытия книга видна при повторной активации исходного окна как можно быстрее:
откройте их из нового экземпляра Excel.
вы должны помнить, чтобы очистить после того как вы закончите.
откройте книгу как скрытую, а затем установите ее как «сохраненную», чтобы пользователи не запрашивались при закрытии.
это несколько производная от ответа, опубликованного Ашоком.
делая это таким образом, хотя вам не будет предложено сохранить изменения обратно в файл Excel, из которого Вы читаете. Это здорово, если файл Excel, из которого Вы читаете, предназначен в качестве источника данных для проверки. Например, если книга содержит имена продуктов и данные о ценах, она можно скрыть и показать файл Excel, представляющий счет-фактуру с раскрывающимися списками для продукта, проверяемого из этого прайс-листа.
затем вы можете сохранить прайс-лист в общем месте в сети и сделать его доступным только для чтения.
в excel скройте книги и сохраните их как скрытые. Когда ваше приложение загружает их, они не будут отображаться.
редактировать: после повторного прочтения, стало ясно, что эти книги не являются частью вашего приложения. Такое решение было бы неуместным для пользовательских книг.
Источник
Работа с внешним Excel файлом из VBA
Задача по объединению данных из нескольких Excel-файлов, или подгрузка доп.данных из внешнего файла решается достаточно просто: создается объект Excel, который можно скрыть визуально, затем открывается необходимый файл и выполняются нужные действия. Просто приведу несколько примеров.
Открытие файла Excel
В первой строке запускаем новый Excel, затем делаем его невидимым, в 3-й строке открываем файл fname. В последней строке получаем первый лист открытого excel-кого файла.
Альтернативный вариант открытия файла
При открытии файла можно использовать доп.параметры (приведу некоторые):
UpdateLinks — обновлять или нет внешние ссылки при открытии файла;
ReadOnly — открытие в режиме только для чтения;
Format — используемый при открытии разделитель (1 — символ tab, 2 — запятые, 3 — пробелы, 4 — точка с запятой, 5 — без разделителя, 6 — пользовательский разделитель, заданный в Delimiter);
Delimiter — пользовательский разделитель (в случае, если Format = 6);
Origin — тип операционной системы (xlMacintosh, xlWindows или xlMSDOS);
Local — использование в Excel языка такого же, как в открываемом файле.
Теперь можно выполнять какие-то действия с открытым файлом, просто обращаясь через wb и ws.
Записать книгу и закрыть
Для записи текущей книги (где находится макрос), можно использовать:
Чтобы сохранить или перезаписать книгу Excel без вопросов, можно применить такой вариант:
У метода SaveAs есть несколько параметров сохранения, с ними можно ознакомиться на сайте Microsoft.
Если нужно, можно закрыть книгу Excel без сохранения изменений таким образом:
Источник
Как при окрытии книги сделать ее «невидимой»? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |