Excel vba открыть файл скрыто

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

#1

10.09.2013 15:07:04

Здравствуйте. Подскажите пожалуйста, как открыть книгу через VBA, чтоб она открывалась в фоне, а не становилась активной. Код ниже открывает книгу и делает ее активной. А надо чтобы оставалась открытой в фоне.

Код
WorkBooks.Open("C:template.xlsx")
 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#2

10.09.2013 15:12:19

Код
 Dim WB As Workbook
Set WB = GetObject("C:template.xlsx")

Изменено: Михаил С.10.09.2013 15:13:12

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Или активировать затем окно «основной» книги.

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

Понятно. Спасибо. Сделал книгу изначально скрытой, теперь при открытии она не мешает. Но в конце макроса мне надо написать код, чтоб сделать ее видимой.

 

ber$erk

Пользователь

Сообщений: 2735
Регистрация: 25.12.2012

а как вы книгу делаете невидимой? Вот и идите от обратного  :D

Учимся сами и помогаем другим…

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

#6

10.09.2013 16:16:05

Невидимой сделал вручную и сохранил. А теперь с помощью кода надо сделать видимой.
Пробую так:

Код
WorkBooks("template.xlsx").Visible = true

не получается.

Изменено: VISXAN10.09.2013 16:21:08

 

Hugo

Пользователь

Сообщений: 23249
Регистрация: 22.12.2012

#7

10.09.2013 16:20:38

Код
Dim WB As Workbook
Set WB = GetObject("C:template.xlsx")
'... здесь код
WB.Windows(1).Visible = True
 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

#8

10.09.2013 16:29:35

Код
Set WB = GetObject("C:template.xlsx")

этот код открывает книгу скрытой (даже если она такой не является), поэтому от него отказался.
Теперь книгу изначально сделал скрытой и пользуюсь для открытия таким кодом:

Код
Workbooks.Open("C:template.xlsx")

Далее, после определенной процедуры VBA (заполнения данной книги данными), нужно сделать книгу видимой. Этот код не помогает:

Код
WorkBooks("C:template.xlsx").Visible = true

Изменено: VISXAN10.09.2013 16:31:03

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#9

10.09.2013 16:39:06

Вы сами себя слышите?

Цитата
этот код открывает книгу скрытой …, поэтому от него отказался.

Поэтому открываю книгу и тут же делаю ее невидимой

Цитата
Далее, после определенной процедуры VBA …нужно сделать книгу видимой.

:D Мазохисты всех стран — объединяйтесь. А на вопрос ответил Hugo.

Я сам — дурнее всякого примера! …

 

Hugo

Пользователь

Сообщений: 23249
Регистрация: 22.12.2012

Т.к. форум тормозит с screenupdating — диалог получается интересным :)

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

KuklP, да не делаю я ее скрытой. Она сама скрытая, куда ее еще скрывать.
В процедуре открываю эту книгу (скрытую), та же процедура забивает ту же книгу (скрытую) данными и теперь необходимо ее отобразить с помощью кода в той же процедуре. Что тут не понятного.

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#12

10.09.2013 16:49:43

Код
Dim WB As Workbook
Set WB = GetObject("C:template.xlsx")

'... здесь код
 Set WB = Nothing
Windows("template.xlsx").Visible = True

Изменено: Михаил С.10.09.2013 16:52:46

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

Михаил С., спасибо Вам большое. Четко и просто.

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#14

10.09.2013 16:57:50

Миша, мож так?

Код
Windows(WB.name).Visible = True
Set WB = Nothing

Я сам — дурнее всякого примера! …

 

Без разницы. Но так наверно проще.
Главное, что бы книгу сделать «видимой», в любом месте кода после открытия нужно Set WB = Nothing.
Лучше в самом конце, что WB использовать можно было.

Изменено: Михаил С.10.09.2013 17:02:47

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

#16

10.09.2013 17:03:18

А что делает этот код?

Код
Set WB = Nothing
 

удаляет

GetObject.

зы. ежели что — я сам ангелького не понимаю. Пользуюсь

переводчиком

Изменено: Михаил С.10.09.2013 17:08:35

 

VISXAN

Пользователь

Сообщений: 135
Регистрация: 01.01.1970

Ах да, ступил. Удаляет присвоенное значение. Ну или присваивает ничего))

Изменено: VISXAN10.09.2013 17:30:37

 

Максим

Пользователь

Сообщений: 268
Регистрация: 31.12.2012

#19

09.04.2019 20:00:14

подскажите пожалуйста как сделать чтобы не моргало на

Код
Set WB = GetObject("C:template.xlsx")
'.......

Windows(WB.name).Visible = True ' <-- вот тут моргает
WB.Close True

Application.ScreenUpdating = False — не помогает

Изменено: Максим09.04.2019 22:01:33

 

Максим

Пользователь

Сообщений: 268
Регистрация: 31.12.2012

#20

09.04.2019 20:42:23

пока решил так:

Код
Set EXapp = New Application
EXapp.Visible = False
Set WB = EXapp.Workbooks.Open("C:template.xlsx")
'.........
WB.Close True
Set EXapp = Nothing

но что-то кажется что слишком тяжёлая артиллерия

Изменено: Максим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's user avatar

Teamothy

1,9903 gold badges15 silver badges24 bronze badges

asked Feb 23, 2009 at 23:08

notnot's user avatar

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 McDonald's user avatar

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

iDevlop's user avatar

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

Ashok's user avatar

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

Munim Rashid's user avatar

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

wooobie's user avatar

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

AnonJr's user avatar

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

pstraton's user avatar

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

Pen123's user avatar

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

guillermooo's user avatar

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

JohnW's user avatar

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 objXL​Private 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 = False​1. нужно присвоить​: Имеется ввиду что​ данный выше?​==============================================================​ файл из фонового​ 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:=macrosMAJ​2. КодИмя =​ «папка» имя папки,где​ ‘обновление экрана​​.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»​ чем рукописный макрос.​
​webley​​wbhidden.Sheets(«RES_1»).Cells.Dirty​.Close SaveChanges:=True​ «Имя» — это​ нужно обновить (macrosMAJ)​
​ ‘вывод системных сообщений​.DisplayAlerts = False’вывод​Имеется группа экселевских​ Excel видимым Set​Теперь вообще не​
​ ‘имя минус .XLS​ = False Application.DisplayAlerts​
​ Создается либо сохранением​​ работает (и только​​ режима | MS​ Произошла серьезная ошибка.​
​@Nik​
​: Я думаю, дело​wbhidden.Close False​End 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​ либо поставить свойство​ и закрыть обе?​Следующий ответ​Проблемы нет в​ так:​ в когда открывается​ Nothing​Loop​ было назвать «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 = xlCalculationManual​End With​
​ макроса посчитал, что​With Application​
​ этой папке ------------------​Имя = Dir(Папка​
​ файле зависят от​_shark и toiai​
​ пример, легче было​ объект, нижняя -​
​ = False Application.DisplayAlerts​ убрать с глаз​ это действие возможно​
​client.xlsm (с поддержкой​
​ проблема с фоновым​
​Workbooks("calculate.xls").Close False​
​ просто нет. А​

​Application.Calculation = xlCalculationAutomatic​End 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​​ со внедренными (связанными)​
​Что можно сделать/попробовать?​
​webley​Sub 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=false​Workbooks(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 ‘ваша​RAN​Workbooks(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_S​RAN​ Excel (не обязательно​:​

​ нет, т.е.книга потом​​есть расчётная книга​: Данные не возвращаются.​ и выполнить расчет.​
​.DisplayAlerts = False​End With​

​ UpdateLinks:=True)​​Имя = Dir​ какая-то программка, которая​

​ открывается в режиме​​ получать/сохранять оттуда данные.​ а у тебя​ True End Sub​: Спасибо, но не​
​: Погляди в сторону​​ держать открытым client.xlsm),​Здравствуйте Коллеги!​ все-равно закрывается.​
​ которая содержит ссылки​ Причем пересчет в​ Код такой:​
​macrosMAJ = «C:UsersE500892…macrosMAJ»​origine = Dir​’здесь Ваш макрос​Loop​ бы запускала обновление​ только чтение.​
​ Такая ситуация с​
​ в разных.​Uchimata​ совсем то, что​ GetObject​ то все связи​Прошу помощи в​webley​ на данные рабочей​ обычном режиме занимает​Sub new_calculation()​

​origine = Dir(macrosMAJ​​Loop​ делает свое грязное​
​.ScreenUpdating = True’обновление​ этих файлов в​В общем проблему​ режимом «только для​
​Попробуй использовать GetObject,​
​: Спасибо большое!!Очень помогли!​
​ мне надо. второй​
​Set CADObject =​
​ обновляются.​
​ решении следующей ситуации.​: А в чем​
​ книги​ довольно длительное время,​
​Set objExcel =​ & "*.xls*")​
​.ScreenUpdating = True​
​ дело​
​ экрана​
​ определенное время?​
​ решил следующим кодом:​
​ чтения" была тогда,​
​ у меня проверить​
​Аватар-С​

​ вопрос — создам​​ GetObject(«C:CADDate & «.xlsx»»)​ПРОБЛЕМА:​Есть форма в​ проблема тогда? Можно​в ней есть​ а в фоновом​ New Excel.Application​Do While origine​

​.DisplayAlerts = True​​.Close SaveChanges:=True​
​.DisplayAlerts = True’вывод​​Serge_007​CreateObject(«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​​Имя = Dir​End 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 = True​ELLE​
​ в фоновом режиме,​

​После вставки кода:​ 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 Sub​Loop​Код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​

​ в фоновом режиме​​@Nik​Set 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-114​200?’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 objXL​objXL.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_​Нужно на панели.​Спасибо за помощь!​ этот (но сперва​ папки​ указатель на Application​objXL.Quit​fName.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​: Доступно только для​
​ или на копии​
​ путь папки»​ ‘делаем окно Excel​Set objXL = Nothing​: можно попробовать закрыть​В ниже приведенном​ только чтение.​ не увидишь даже​ игрался, включая доверенные​
​ = CreateObject(«Excel.Application») Set​top.pptx — презентация​иначЕ при обновлении​ calculate.xls, происходит расчет,​
​Правда, будет выполнен​_Boroda_, 10.10.2017 в​: Спасибо за объяснение))​ пользователей​ рабочих в спецпапке).​’———— Excel-файлы в​ не видимым objXL.ScreenUpdating​
​, а затем уже​ открытую книгу, а​ коде мои действия​В общем проблему​ через меню Вид-Отобразить.​ файлы и места​ wс = objXL.Workbooks.Open(sFilePath)​

planetaexcel.ru

Как при окрытии книги сделать ее «невидимой»?

​ со внедренными (связанными)​​ связей в книге​
​ результаты записываются в​ пересчёт всех открытых​ 10:20, в сообщении​ исправила​_Boroda_​Путь к папке​ этой папке ——————​ = False Set​​ выполнять код по​​ потом через Shell​Dim sFilePath, objXL,​ решил следующим кодом:​Michael_S​ расположения)​
​ With ComboBox3 .ColumnCount​ диапазонами и диаграммами​ данных получим старые​ main.xls​ книг, но зато​ № 16 ()​_Boroda_​: — Прочитайте Правила​
​ пропишите вместо​Имя = Dir(Папка​ wс = objXL.Workbooks.Open(sFilePath)​ повторному запуску Экселя​biggrin

​ еще раз активировать​​ 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.pptx​Guest​ что книга 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​основную»​happy
​ она также открывает​ списке 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​

Содержание

  1. Vba открыть файл excel скрыть
  2. Скрытие листов и использование константы xlVeryHidden в макросе
  3. Аннотация
  4. Дополнительные сведения
  5. Скрытие листа с помощью команд меню
  6. Скрытие листа с помощью макроса Visual Basic
  7. Пример кода Visual Basic
  8. Excel works!
  9. Excel works!
  10. Как сделать очень скрытый лист Excel?
  11. Очень скрытый лист. Подготовка
  12. 1. Можно открыть очень скрытый лист Excel при помощи макроса
  13. 2. Или сменив свойства листа в VBA, чтобы получить очень скрытый лист excel
  14. Открыть файл Excel для чтения с помощью VBA без отображения
  15. 9 ответов
  16. Работа с внешним Excel файлом из VBA
  17. Открытие файла Excel
  18. Альтернативный вариант открытия файла
  19. Записать книгу и закрыть

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 без сохранения изменений таким образом:

Источник

Как при окрытии книги сделать ее «невидимой»?

Michael_S

Дата: Среда, 20.03.2013, 21:18 |
Сообщение № 1

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Всем добрый день!
Суть вопроса: у меня есть книга, при своем открытии она также открывает (или создает и сохраняет в туже папку) книгу с названием Date & «.xlsx», . Потом в этой книге макросы выполняют некоторые действия — какие, не суть важно.
Вопрос, как мою книгу открыть в фоновом режиме, и по закрытии книги, с которой она работает (и только этой книги) сохранить и закрыть обе?

зы. Только мне не надо направление, пальцем укажите, если это действие возможно biggrin

Сообщение отредактировал Michael_SСреда, 20.03.2013, 21:21

 

Ответить

Гость

Дата: Среда, 20.03.2013, 21:25 |
Сообщение № 2

visible=false

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 21:35 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Цитата (Гость)

visible=false

Пробую для проверки
[vba]

Код

Sub ttt1()
Workbooks(3).Visible = False
End Sub

[/vba]
-ошибка
Workbooks(3).Name = «Демонстрация (001_1).xlsm», открыта.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 21:40 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Погляди в сторону GetObject
Set CADObject = GetObject(«C:CADDate & «.xlsx»»)
После такого открытия книга всегда будет открываться скрытой. Чтобы при ручном открытии она отображалась, ее перед сохранением необходимо отобразить. Можешь поставить свойство IsAddin (в модуле книги) True.Тогда при необходимости проглядеть книгу, нужно будет в модуле книги вручную или макросом сменить свойство IsAddin на False.
Ну и visible=false можно использовать.

PS
[vba]

Код

Sub qq()
ActiveWindow.Visible = False
End Sub

[/vba]

PPS При использовании IsAddin открытую книгу не увидишь даже через меню Вид-Отобразить.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСреда, 20.03.2013, 21:50

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 21:52 |
Сообщение № 5

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

RAN, мне нужно (желательно) скрыть не новую книгу, а мою «основную», с которой я начинаю (пусть она называется Книга1.xlsm).
Я работаю с новой книгой, но в ней нет макросов, и потому мне нужна первая книга.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 22:12 |
Сообщение № 6

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

В таком разе тебе нужна надстройка. Она при запуске невидима, но макросы в ней работают. Создается либо сохранением как надстройка (Книга1.xlam), либо поставить свойство IsAddin (в модуле книги) True (Книга1.xlsm)

Но если просто убрать с глаз долой — тогда Visible.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANСреда, 20.03.2013, 22:14

 

Ответить

Michael_S

Дата: Среда, 20.03.2013, 22:47 |
Сообщение № 7

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Спасибо, с вопросом Visible разобрался..[vba]

Код

Windows(«книга1.xlsx»).Visible=false

[/vba]

Остался вопрос про закрытие и сохранение.

 

Ответить

RAN

Дата: Среда, 20.03.2013, 23:07 |
Сообщение № 8

Группа: Друзья

Ранг: Экселист

Сообщений: 5645


Быть или не быть, вот в чем загвоздка!

 

Ответить

Michael_S

Дата: Четверг, 21.03.2013, 17:04 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Спасибо, но не совсем то, что мне надо. второй вопрос — создам другую тему.

Сообщение отредактировал Michael_SЧетверг, 21.03.2013, 17:05

 

Ответить

RAN

Дата: Четверг, 21.03.2013, 18:22 |
Сообщение № 10

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Тогда поподробнее, можно с примерчиком и кодом. happy
А то я совсем не понял, что нать.


Быть или не быть, вот в чем загвоздка!

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Excel vba открыть файл если он не открыт
  • Excel vba открыть файл в скрытом режиме
  • Excel vba открыть только форму
  • Excel vba открыть ссылку в браузере
  • Excel vba открыть каталог