Открытие документа Microsoft Excel в разных окнах
Открытие нескольких окон
Но существует несколько уловок, с помощью которых можно отобразить несколько документов в Excel 2007 — 2010 на экране одновременно.
Способ 1: панель задач
Одним из самых простых вариантов открытия нескольких окон является выполнение данной операции через контекстное меню значка на Панели задач.
-
После того, как один документ Эксель уже запущен, наводим курсор на иконку программы, размещенную на Панели задач. Кликаем по ней правой кнопкой мыши. Запускается контекстное меню. В нем выбираем в зависимости от версии программы пункт «Microsoft Excel 2007» или «Microsoft Excel 2010».
После этого вы сможете работать с документами сразу в двух окнах. Таким же образом при необходимости можно запустить и большее количество.
Способ 2: окно «Выполнить»
Второй способ предполагает действия через окно «Выполнить».
После этого новое окно запустится, а для того, чтобы открыть в нем нужный файл выполняем те же действия, что и в предыдущем способе.
Способ 3: меню Пуск
Следующий способ подойдет только пользователям Windows 7 или более ранних версий операционной системы.
-
Кликаем по кнопке «Пуск» ОС Windows. Переходим по пункту «Все программы».
После этих действий запустится новое окно программы, в котором стандартным способом можно будет открыть файл.
Способ 4: Ярлык на Рабочем столе
Чтобы запустить программу Excel в новом окне, нужно дважды кликнуть по ярлыку приложения на рабочем столе. Если его нет, то в таком случае ярлык нужно создать.
-
Открываем Проводник Windows и если у вас установлен Excel 2010, то переходим по адресу:
Если установлен Эксель 2007, то в этом случае адрес будет такой:
Теперь запускать новые окно можно будет через ярлык приложения на Рабочем столе.
Способ 5: открытие через контекстное меню
Все способы, которые были описаны выше, предполагают сначала запуск нового окна Excel, а уже потом через вкладку «Файл» открытие нового документа, что является довольно неудобной процедурой. Но существует возможность значительно облегчить открытие документов путем использования контекстного меню.
- Создаем ярлык Excel на рабочем столе по алгоритму, который описан выше.
- Кликаем по ярлыку правой кнопкой мыши. В контекстном меню останавливаем выбор на пункте «Копировать» или «Вырезать» в зависимости от того, желает пользователь, чтобы ярлык и дальше размещался на Рабочем столе или нет.
Вместо значения «Имя_пользователя» следует подставить наименование вашей учетной записи Windows, то есть, пользовательского каталога.
Один раз проделав операцию с добавлением ярлыка в папку «SendTo», мы получили возможность постоянно открывать файлы Excel в новом окне через контекстное меню.
Способ 6: изменения в системном реестре
-
Для запуска окна «Выполнить», нажимаем комбинацию клавиш Win+R. В открывшемся поле вводим команду «RegEdit.exe» и жмем на кнопку «OK».
После выполнения данной процедуры файлы формата xlsx тоже будут открываться в новом окне.
Способ 7: параметры Excel
Открытие нескольких файлов в новых окнах можно настроить также через параметры Excel.
-
Во время нахождения во вкладке «Файл» выполняем щелчок мышкой по пункту «Параметры».
После этого новые запущенные файлы будут открываться в отдельных окнах. В то же время, перед завершением работы в Excel, рекомендуется снять галочку с пункта «Игнорировать DDE-запросы от других приложений», так как в обратном случае при следующем запуске программы возможно возникновение проблем с открытием файлов.
Поэтому, в некотором роде, данный способ менее удобен, чем предыдущий.
Способ 8: открытие одного файла несколько раз
Как известно, обычно программа Excel не дает открыть один и тот же файл в двух окнах. Тем не менее, это тоже можно сделать.
-
Запускаем файл. Переходим во вкладку «Вид». В блоке инструментов «Окно» на ленте жмем на кнопку «Новое окно».
Как видим, хотя по умолчанию в Excel 2007 и 2010 при запуске нескольких файлов будут открываться в одном и том же материнском окне, существует множество способов запустить их в разных окнах. Пользователь может сам выбрать более удобный, соответствующий своим потребностям вариант.
Мы рады, что смогли помочь Вам в решении проблемы.
Помимо этой статьи, на сайте еще 12742 полезных инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Как найти последнее значение в столбце Excel
Чтобы исправить различные проблемы с ПК, мы рекомендуем Restoro PC Repair Tool: это программное обеспечение исправит распространенные компьютерные ошибки, защитит вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует ваш компьютер для максимальной производительности. Решите проблемы с ПК и удалите вирусы прямо сейчас, выполнив 3 простых шага:
VBA: функции для работы с файлами
Введение Работа с дисками и папками, путь CurDir — текущая папка ChDrive — смена логического диска ChDir — смена папки Dir — список файлов/папок Name — переименование MkDir — создание папки RmDir — удаление папки Kill — удаление файла SetAttr — установка атрибутов
Одной из важнейших составляющих любого языка программирования является способность считывать и записывать информацию из файлов. Стандартно это называется функциями низкого уровня (Low Level) и в полном объеме представлено в VBA. Кстати, именно эта особенность и является основой опасности макросов.
С другой стороны, в свете изучаемого курса, нельзя не отметить, что обсуждаемые возможности относятся далеко не к начальному уровню. Без них не удастся обойтись при автоматизации взаимодействия со сложной информацией из разнородных источников.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Работа с файлами, дисками и папками, путь
Логика изложения основана на том, что можно сделать с существующими объектами, а уже потом — как создать новый. Поскольку многие команды распространяются не только на работу с каталогами, но и на файлы, полное изложение приводится именно здесь.
Все, перечисленное здесь, не имеет прямого отношения к низкоуровневым функциям, но без этой информации работать нельзя в принципе.
Первым является вопрос о том, где мы сейчас находимся. Совсем неочевиден не только ответ, но и то, что сам вопрос будет своевременно задан. Данный тезис становится все более актуальным с каждым годом и мне не хотелось бы, чтобы мои ученики бились об него лбом.
CurDir
Из синтаксиса можно понять (или нет) достаточно многое.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Перечисленное не дает однозначного ответа на возникающие вопросы, но является основой для таковых. Частичные решения есть в разделе Примеры.
ChDrive
Инструкция для смены текущего диска (ChDrive) работает довольно примитивно. Так, вариант
определит текущим диском диск «D:». Из примера видно, что приводится только литерал, без двоеточия.
ChDir
Внимание! Изменяется текущая папка на указываемом диске, а не сам диск. Для смены диска потребуется команда ChDrive.
В значении пути можно использовать обозначения относительного перемещения. Например,
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Функция возвращает строку (String) с именем обнаруженных на диске файла, папки или подпапки. Если объект файловой системы обнаружен не будет, возвратится пустая строка.
В имени можно использовать знаки подстановки маски файла (* и ?).
Передача в качестве аргумента пустой строки возвращает список всех файлов и папок.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Из контекста описания понятно, что атрибуты могут суммироваться.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Оператор Name переименовывает файл или папку и/или перемещает их в новое место.
- Обрабатываются только уже существующие объекты.
- Файл может быть перемещен на другой диск.
- Файлы, открытые низкоуровневыми процедурами, надо предварительно закрыть.
- Перемещение папок и подпапок возможно только в пределах логического диска.
MkDir
Если диск не указан, новые каталог или папка создаются на текущем диске. Имя присваивается с учетом регистра символов.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
RmDir
Невозможно удалить папку, содержащую файлы, так что следует вначале удалить их, используя команду Kill. Также этой командой нельзя удалить файл.
В качестве пути указывается строка, содержащая имя одного или нескольких файлов, предполагаемых к удалению. Строка может содержать любой фрагмент пути, начиная от логического диска, то есть относительный или абсолютный.
В имени можно использовать знаки подстановки маски файла (* и ?).
Так как команда удаляет только файлы, для удаления папок следует воспользоваться командой RmDir.
SetAttr
Оба параметра являются обязательными. Имя файла может содержать путь.
Атрибуты:
Константа | Значение | Описание |
vbNormal | 0 | Без атрибутов (по умолчанию) |
vbReadOnly | 1 | Только для чтения (Read-only) |
vbHidden | 2 | Скрытый файл (Hidden) |
vbSystem | 4 | Системный файл (System) |
vbArchive | 32 | Файл изменен после последнего резервного копирования |
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Низкоуровневые функции
Рассуждая здраво, практически невозможно сформировать однозначную последовательность изложения, так как тогда мы упремся в проблему яйца и курицы. Даже понимание того, что прежде чем считывать файл, он должен быть создан не очень помогает: чтение выполняется намного чаще.
Идентификатор файла
Его должен задать программист, но делать это вручную допустимо только для простых ситуаций. Лучше воспользоваться следующей функцией
Простейший вариант обращения (запроса) к функции выглядит так:
Далее по тексту будет использоваться именно выделенная красным переменная, содержащая получаемый ID (для упрощения записи). Если не будет заявлено другое или использовано явное указание.
И еще раз, для более четкого понимания. В небольших проектах и программах будет более чем оправдано непосредственное указание идентификатора в командах: #1, #2.
Команда Open #
Открывает файл для операций ввода/вывода (input/output, I/O).
Если указываемый на запись файл отсутствует, то он будет создан. Естественно, попытка чтения несуществующего файла закончится ошибкой (см. Dir).
Команда Close #
После завершения работы файл должен быть закрыт. Иначе какой-либо доступ к нему может быть заблокирован (в примитивном понимании и без дополнительного обсуждения). Для этого используется следующая команда:
В качестве параметра передается номер файла, номера файлов через запятую или ничего. В последнем случае закроются все открытые файлы.
Reset
Закрывает все файлы, открытые с помощью оператора Open, записывая содержимое их буферов на диск.
Чтение и запись
- Последовательный (Sequential) доступ (режимы Input, Output и Append) используется для записи в текстовые файлы, например, журналы ошибок и отчеты.
- Прямой или произвольный доступ (Random) используется для считывания и записи данных в файле без его закрытия. Файлы с прямым доступом сохраняются данные в записях, что ускоряет нахождение требуемой информации.
- Двоичный доступ (режим Binary) используется для считывания или записи любого байта в файле, например, при сохранении или отображении растрового рисунка.
Сводка стандартных операторов, используемых для чтения и записи в разных режимах.
Тип доступа | Запись данных | Чтение данных |
Последовательный (Sequential) | Print #, Write # | Input # |
Произвольный (Random) | Put | Get |
Двоичный (Binary) | Put | Get |
Write #
Записывает данные в последовательный файл в структурированном виде.
Отсутствие OutputList (запятая в команде остается!) приводит к записи пустой строки.
- В качестве разделителя в outputlist можно использовать пробел, точку с запятой или запятую. По очень многим соображениям настоятельно рекомендую использовать только точку с запятой.
- Числовые данные всегда записываются с помощью точки в качестве разделителя целой и дробной части.
- Вся информация записывается в особом виде, зависящем от типа данных и знание об этом создает довольно серьезную путаницу. Важно четко разделить информацию и понимать, что OutputList записывается в формате VBA. Никакие последующие «причуды форматирования» нас не касаются. Знать их нужно, чтобы находить и исправлять ошибки, либо для вывода информации, условно говоря, вручную. То есть без помощи, которую нам предоставляет функция Write #.
- Из предыдущего тезиса неизбежно вытекает, что некоторые данные проще выводить, предварительно записав их значение в переменную. Например, дату или код ошибки. Естественным образом это складывается для информации, получаемой посредством вычислений.
- Сохранение (запись) данных:
Строка — заключается в кавычки
Число — цифры без кавычек
Логические — #FALSE# и #TRUE#
Null — #FALSE# и #TRUE#
Дата — в универсальном формате даты
Ошибка — #ERROR ErrorCode#, где ErrorCode является соответствующим номером - Нельзя использовать строки, уже содержащие в себе кавычки.
- В конец файла (после записи последнего символа) будет вставлен символ новой строки (Chr(13) + Chr(10)).
Примеры (все данные записываются в ранее открытый файл с идентификатором #1)
Данные, записанные с помощью Write #, обычно считываются из файла с помощью оператора Input #. Именно во взаимодействии этой пары и заключен весь смысл.
В подобном файле крайне удобно хранить настройки для работы проекта, которые пользователь может изменить в соответствии со своими потребностями. Для передачи подобных макросов на сторону следует предусматривать (встраивать) возможности восстановления файлов, если пользователь их удалит или отредактирует вручную.
С другой стороны, набор множества таких строк представляет собой своего рода таблицу базы данных.
Print #
Записывает отформатированные данные в последовательный файл.
OutputList — выражение или список выражений, которые необходимо вывести.
См. Spc #, Tab #, а также Width #. Выражение может быть числовым или строковым, «позиция» определяет столбец, где будет начало вывода.
С учетом специфического применения оператора, детали его действия опущены.
Функция используется с оператором Print # или методом Print для позиционирования выходных данных. Аналог Space().
Параметр n указывает, сколько пробелов будет возвращено. При переполнении строки, излишек переходит на следующую.
Если не умничать, то функция будет работать только с моноширинным шрифтом.
Используется с оператором Print # или методом Print для позиционирования выходных данных.
Вставляет табулятор. Если параметр не указан, печать смещается к следующей позиции (шаг равен 14 символам). Наличие параметра перемещает к позиции с указанным номером. А если она уже была, то на эту позицию, но следующей строки.
Width #
Оператор Width # назначает ширину строки вывода для файла, открытого с помощью оператора Open #.
Если значение width равно 0, длина строки является неограниченной. Оно используется по умолчанию.
Input #
Читает строку со структурированными данными из открытого последовательного файла и сохраняет эти данные в переменных.
Обычно данная инструкция считывает файлы, созданные посредством Write #. Использовать ее следует только с файлами, открытыми в режиме Input или Binary.
Параметр VarList представляет собой перечисленный список переменных, в которые сохраняются считываемые данные.
Line Input #
Считывает одну строку из открытого последовательного файла и присваивает ее переменной типа String или Variant.
Оператор следует отнести к самому востребованному варианту считывания данных из файла. Считанная строка может быть подвергнута любой обработке.
Считывает данные из открытого файла на диске в переменную.
Необязательный параметр RecNumber типа Variant (Long) указывает на номер записи (для файлов, открытых в режиме Random) или байтовое число (для файлов, открытых в режиме Binary), с которого начинается считывание. При его отсутствии, запятая сохраняется Результат сохраняется в переменную VarName.
- Читаем описание Put #.
- Если вы не знаете длину записи (Len), то не сможете правильно открыть файл и, как следствие, правильно прочитать его. Единственным адекватным выходом будет анализ исходного файла «глазами».
Данные, для считывания с помощью Get, обычно записываются в файл с помощью Put #.
Необязательный параметр RecNumber типа Variant (Long) указывает на номер записи (для файлов, открытых в режиме Random) или байтовое число (для файлов, открытых в режиме Binary), с которого начинается запись. Если его не использовать, то производятся запись следующего номера, после последнего, определенного обращением к любому из операторов Get #, Put или Seek #.
- Параметр Len, задаваемый при открытии файла, играет ключевую роль. Во-первых, длина записи не может его превышать. Во-вторых, если запись меньше, то она дополняется пробелами до размера Len.
- Если записываемая переменная является строкой переменной длины, оператор Put записывает 2-байтовый дескриптор c длиной строки, а затем переменную. То есть длина записи, указанная предложением Len в операторе Open, должна быть по крайней мере на 2 больше, чем фактическая длина строки записываемых данных.
- Если записываемая переменная имеет числовой подтип Variant, оператор Put записывает дополнительно 2 байта, указывающие на тип. См. п.2.
- Если записываемая переменная имеет строковый подтип Variant, оператор Put записывает дополнительно 2 байта, указывающие на тип и еще 2 — на длину. Соответственно, значение Len должно быть увеличено на 4.
- Если записываемая переменная является динамическим массивом пользовательского типа, Put записывает дескриптор, длина которого равна 2 плюс в 8 раз больше числа измерений, то есть 2 + 8 * число измерений. То есть, для одномерного массива — 10 (2+8*1), для двумерного — 18 (2+8*2) и т.д. Плюс размер массива, описать который нормально сотрудники Microsoft не удосужились.
- Если записываемая переменная является массивом фиксированного размера, оператор Put записывает только данные, без дескриптора.
- При любом другом типе переменной все также, как и в п.6.
- Параметр Len, задаваемый при открытии, не действует. Значения переменных записываются последовательно, без заполнителя.
- Для любого другого массива, чем массив типа, определяемого пользователем, оператор Put записывает только данные, без дескриптора.
- Оператор Put записывает строки переменной длины, не являющиеся элементами типов, определяемых пользователем, с числом байтов равных числу знаков в строке.
Данные, записанные с помощью Put, обычно считываются из файла с помощью Get #.
Задает положение следующей операции чтения/записи в файле, открытом с помощью оператора Open #.
Параметр position указывает начальную точку чтения и должен располагаться в диапазоне 1—2 147 483 647.
По существу, оператор назван неудачно, так как ничего не ищет, а просто перемещается по команде.
Примеры
Здесь не стоит разговаривать о микроскопических программах, хотя из приводимых примеров можно извлекать блоки и использовать их в качестве заготовок.
Также не будет полноценных примеров для бездумного копирования.
Многие ситуации содержат схожие требования, но идеальное решение должно состоять из множества функций. Сейчас их делать не очень хочется, но это запланировано в перспективе.
В любом случае, все примеры полностью работоспособны.
Принципиально важен факт документирования функции с точки зрения возвращаемых значений. Равно как и описание передаваемых параметров.
- Путь должен содержать литерал диска (C. ).
- Путь не должен заканчиваться косой чертой: «C:\a\b».
- Если путь и файл передаются отдельно, то имя файла не должно содержать пути.
- Все параметры являются обязательными и не могут быть пустыми. Последнее обстоятельство не проверяется.
Создание файла
Данное действие специально вынесено в отдельный заголовок, так как будет базовым для примеров, когда файла ещё нет. Оно имеет множество особенностей, включая фатальные для хранящейся информации.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Ещё один момент. Добавим программу (фрагмент), которая будет запускать процесс.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Проверка существования файла
Имеет прикладное назначение не только в случае использования низкоуровневых функций. По существу, нужно в любом программном проекте в качестве условия его запуска.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Запись информации в новый файл
Разумеется, что в этой ситуации файл нужно не открыть, а создать.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Добавление информации в существующий файл
Казалось бы. Но первым действием должна быть проверка его наличия, если это не было сделано в программе ранее.
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Построчное считывание файла
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Назначение текущей папки
Если работа с проектами так или иначе связана с файлами, хранящимися в одной папке, самым простым вариантом будет назначение ее текущей.
Представленный пример имеет формат глобальной функции (доступной для любого проекта), производящей множество проверок.
Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.
В принципе, возможна как оптимизация программы, так и ее модернизация или приспособление для других нужд.
Copyright © 1993–2022 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.
ИСПРАВЛЕНИЕ: эта книга была открыта в режиме только для чтения Office 365
- Обрабатываются только уже существующие объекты.
- Файл может быть перемещен на другой диск.
- Файлы, открытые низкоуровневыми процедурами, надо предварительно закрыть.
- Перемещение папок и подпапок возможно только в пределах логического диска.
Также можно указать, что необходимо сохранить исходное форматирование, если оно уникально в каждой таблице. Так вам, кстати, будет проще определить, откуда появились сведения в общем массиве, какая таблица является их источником.
Атрибуты:
Константа | Значение | Описание |
vbNormal | 0 | Без атрибутов (по умолчанию) |
vbReadOnly | 1 | Только для чтения (Read-only) |
vbHidden | 2 | Скрытый файл (Hidden) |
vbSystem | 4 | Системный файл (System) |
vbArchive | 32 | Файл изменен после последнего резервного копирования |