Содержание

Нужна ли в современных условиях трудовая книжка? — Оперсонале

Содержание статьи

В 2012 году руководством страны был поднят вопрос о том, нужна ли трудовая книжка. Многие государственные чиновники утверждают, что этот документ является устаревшей формой подтверждения профессиональной деятельности субъекта и его трудового стажа. Некоторые кадровики считают, что записи, сделанные в трудовой, не всегда отражают реальное положение дел. Пойдя навстречу не совсем добросовестному работнику, сотрудники отдела кадров вместо указания статьи, по которой он уволен, пишут, что увольнение произошло по взаимному согласию сторон.

Почему появился вопрос об отмене трудовых?

Весомым фактором, который не свидетельствует в пользу продолжения ведения трудовых книжек, является бумажная волокита. Сейчас в законодательстве, регламентирующем трудовые отношения, установлено, что работодатель должен завести (при первичном трудоустройстве) либо вести (при последующей смене места работы) трудовую книжку на каждое лицо, которое проработало у него более 5 дней. В случае его перевода на другую должность, в другое подразделение, награждение или поощрение, не говоря уже об увольнении, все это должно быть отражено в данном документе. Поскольку все записи совершаются вручную, это занимает много времени. Кроме того, ответственность за правильное ведение и сохранность трудовых книжек полностью лежит на работодателе в лице кадрового работника.

Работодатели и потенциальные работники, особенно из числа школьников, достигших 14 лет, студентов или пенсионеров, желающих подзаработать, все чаще сталкиваются с ситуацией, когда при оформлении на работу заключается не трудовой, а гражданско-правовой договор. Следовательно, в трудовую книжку не вносятся данные о стаже и выполняемых функциональных обязанностях. Период, в течение которого работник выполняет свою деятельность по такому виду договора, естественно, не учитывается при расчете будущей пенсии.

Доводы в пользу ведения трудовых

Однако существуют и сторонники, которые на вопрос о том, нужны ли сейчас трудовые книжки, дают положительный ответ. Это обусловлено тем, что опытный специалист, едва открыв трудовую, получает всю необходимую информацию о лице, намеревающемся занять место в конкретной организации. С ее помощью можно отследить трудовую деятельность, сроки, в течение которых работник занимался определенным видом деятельности, поощрения, которые он получал, а также любые другие моменты.

Российское законодательство о трудовых книжках

Действующее российское законодательство содержит правовые нормы, свидетельствующие о том, что ключевым документом, подтверждающим стаж и трудовую деятельность конкретного лица, является трудовая книжка.

Основные положения закреплены в следующих нормативно-правовых актах:

  1. Трудовой кодекс РФ;
  2. Постановление Правительства РФ «О трудовых книжках»;
  3. Постановление Минтруда РФ «Об утверждении Инструкции по заполнению трудовых книжек».

Все эти документы, а также приложения к ним дают положительный ответ на вопрос о том, нужна ли сейчас трудовая книжка.

Для чего нужна трудовая книжка?


Несмотря на то, что в последнее время активизировалась дискуссия относительно нецелесообразности ведения трудовых книжек, этот документ продолжает играть весьма важную роль. Многие организации требуют у работников предоставить трудовую книжку. Это происходит в следующих случаях:

  1. при поступлении на работу или на службу;
  2. при расчете различных выплат, например, пособий по временной нетрудоспособности, беременности и родам, выплат по больничному листу, отпускных и т.д.
  3. при оформлении трудовой пенсии;
  4. при получении кредита;
  5. при оформлении заграничного паспорта и в иных случаях.

Чем заменить трудовую книжку

Нигде в мире для подтверждения трудового стажа работника не используется трудовая книжка. На Западе большее внимание уделяется предоставленному резюме лица, которому работодатель доверяет. Однако если у последнего возникли некоторые сомнения относительно записей, содержащихся в портфолио, менеджер по персоналу может попросить предоставить ему рекомендации с предыдущих мест работы либо контакты, по которым он сможет самостоятельно связаться с руководством последнего места трудоустройства. В России такая практика не получила должного распространения, за исключением случаев, когда о потенциальном сотруднике «замолвили словечко» знакомые или родственники.

К сожалению, в России резюме и письменные характеристики бывших работодателей не имеют никакой юридической силы. Несмотря на то, что трудовой договор, заключенный при поступлении на работу (службу) между работником и работодателем, устанавливает основные права и обязанности обеих сторон соглашения, размер заработной платы, порядок ее выплаты и некоторые другие моменты, он не может быть использован органами Пенсионного фонда при начислении пенсии. Для этих целей все равно придется предоставить трудовую книжку.

В качестве аналога действующей в настоящее время трудовой книжки предлагается ввести электронную пластиковую карту, на которой будет храниться вся необходимая информация о лице как о работающем гражданине, а именно:

  • паспортные данные;
  • пенсионная карта;
  • идентификационный номер налогоплательщика.

Главным преимуществом ее создания и использования является удобство и отсутствие необходимости собирать пакет документов.

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

Таким образом, единственно возможным документом, содержащим основные сведения о стаже работника, его должности, функциональных обязанностях, награждениях за трудовые успехи и причины увольнения, продолжает оставаться трудовая книжка.

Что ждет при переходе на электронные трудовые книжки — Российская газета

Работодатели начали переходить на “электронные трудовые книжки”. И хотя на эту тему дано уже множество разъяснений, остается немало вопросов по их практическому применению.

Как правильно оформлять работников, принятых в этом году? Как в электронных формах отразить переименование должности? Как рассчитывать больничные, если работник отказался от ведения бумажной трудовой книжки? На эти и другие вопросы читателей “Российской газеты” ответил заместитель руководителя Роструда Иван Шкловец на горячей линии, прошедшей в редакции.

Если работник трудоустраивается в этом году, он имеет право сразу же выбрать электронный вариант трудовой книжки?

Иван Шкловец: Прежде чем сделать выбор работнику, работодатель должен выполнить ряд действий. Так, нужно оформить с сотрудником трудовой договор, издать приказ о приеме на работу, не позднее недельного срока после издания приказа внести запись в трудовую книжку, а потом письменно уведомить его об изменениях, которые произошли в законодательстве, о его праве подать заявление о выборе.

Также вы должны внести изменения в свои локальные нормативные акты в компании, в которых наверняка прописано только бумажное ведение трудовых книжек, и только после этого нужно будет получать от работника заявление. Вы должны обязательно у себя зафиксировать то, что работнику уведомление выдали, зарегистрировать заявление в журнале приема заявлений, чтобы подтвердить выбор работника.

Мы новых работников устно уведомляем о новом законе и праве выбора. И после подписания трудового договора и приказа о приеме на работу он пишет заявление о выборе. Так неправильно?

Иван Шкловец: Закон требует именно письменного уведомления работников. И после 30 июня инспекции труда будут проверять, выполнил ли работодатель это требование. Это обязательное условие. Поэтому поменяйте свое устное уведомление на письменное. Это несколько усложнит процедуру оформления, но это требование закона. Если вы это не сделаете, возникают риски претензий со стороны инспекции труда.

Согласно ст. 66.1 Трудового кодекса, в сведения о трудовой деятельности работника (СТД-Р) включается такая информация, как место работы, трудовая функция, переводы, увольнение. При этом по недавно принятому порядку заполнения формы СТД-Р мы включаем еще и дополнительные события, такие, как переименование организации работодателя, присвоение второй квалификации, и данные о том, что работнику запрещено занимать какую-то должность или заниматься некой деятельностью. То есть наблюдается противоречие между Трудовым кодексом и порядком заполнения. Чем все-таки руководствоваться и какие данные включать в эти формы?

Иван Шкловец: Никакого противоречия нет. В законе указаны только основные кадровые мероприятия, это прием, перевод и увольнение. Но в этом же законе указано, что форму сведений о передаче такой информации в ПФР и форму сведений, которые передаются работнику, утверждают соответствующие органы власти.

В первом случае это Пенсионный фонд, который в форме СЗВ-ТД, утвержденной постановлением Правления Пенсионного фонда России от 25 декабря 2019 г. № 730п установил шесть кадровых мероприятий, которые вы назвали. Своим приказом Минтруд России от 20 января 2020 года № 23н, утвердил сведения, которые должны предоставляться ­работникам. Так называемая форма СТД-Р. И там уже не шесть кадровых мероприятий, а пять.

Там отсутствует запрет занимать определенные должности. Поэтому при предоставлении сведений и в ПФР, и работнику на основании его заявления или при увольнении вы руководствуетесь теми формами, которые утверждены ПФР и минтрудом. Ориентируйтесь на эти приказы и постановления.

Что делать, если должность просто переименована, а перевода на другую должность не было. Как это отразить в электронной трудовой книжке?

Иван Шкловец: Трудовое законодательство не содержит понятия “переименование должности”. Любое изменение наименования должности – это перевод, изменение трудовой функции. И как только вы “переименовали” должность, это означает, что вы должны издать приказ о переводе работника на другую должность. А это уже кадровое мероприятие, которое должно попасть в отчет ПФР.

Если был приказ не о переводе работника на другую должность, а о переименовании должности, и это именно так отражено в трудовой книжке, значит, нужно признать эту запись недействительной и внести правильную запись в соответствии с инструкцией по заполнению трудовых книжек.

Работник, выбравший “электронную трудовую книжку” у предыдущего работодателя, должен представить при приеме на работу форму СТД-Р

При составлении отчета необходимо указать кадровое мероприятие – переименование. В отведенной графе умещается 150 символов. А в переименовании больше двухсот. Как быть?

Иван Шкловец: В отчете наименование организации указывается в соответствии с учредительными документами (допускается наименование в латинской транскрипции). В случае переименования указывается как прежнее наименование организации, так и новое, что существенно увеличивает количество знаков.

Если такая запись не помещается в графе, следует заранее связаться с ПФР и проконсультироваться. При этом такое кадровое мероприятие, как переименование, само по себе не является основанием для направления отчета, у вас есть время выяснить данный вопрос.

Мы 28 февраля издали приказ о найме работника со 2 марта. Сведения об этом включаем в СЗВ-ТД за февраль или март?

Иван Шкловец: Когда вы издаете приказ о приеме работника на работу, который является обязательным, в нем значатся две даты. Первая – дата издания приказа, вторая – дата начала работы. Поскольку у нас кадровое мероприятие называется “прием на работу”, вы ориентируетесь на ту дату, которая связана с началом работы работника. Следовательно, важной будет дата именно 2 марта, когда работник принят на работу, и отчет об этом вы будете направлять в ПФР уже в апреле.

Такая же процедура с увольнением. Увольнением является последний рабочий день работника, когда вы выдаете ему трудовую книжку или сведения о трудовой деятельности, если он выбрал электронный вариант.

В нашей компании все работники получили уведомления о переходе на электронные трудовые книжки. Все написали заявления до 31.12.2019 г. о продолжении ведения трудовых книжек в бумажном виде. Если закон вступил в силу с 01.01.2020 г., то получается, что заявления работников недействительны?

Иван Шкловец: В законе указаны мероприятия, которые работодатели обязаны осуществить в 2020 году: внести изменения в локальные нормативные акты, письменно уведомить работников и принимать от них заявления. При этом должна соблюдаться последовательность.

Вы несколько поторопились, и это создает риски того, что требования закона не были выполнены. Для полной уверенности следует повторить процедуры.

Если на работу устраивается сотрудник, который уже отказался от ведения бумажной трудовой книжки, он приносит только сведения по форме СТД-Р. Но они содержат информацию только с последнего места работы. Новому работодателю нужно подсчитать общий трудовой стаж для установления надбавки к окладу для оплаты больничных. Раньше мы это делали по бумажной трудовой книжке. Как сейчас узнать всю подноготную работника?

Иван Шкловец: Во-первых, закон не запрещает работнику при трудоустройстве, даже если он выбрал электронную трудовую книжку, предъявлять новому работодателю бумажную, которая была выдана ему на руки. Бумажная трудовая книжка не перестает быть юридически значимым документом.

Во-вторых, работник при увольнении получает от работодателя справку о средней зарплате за последние два года – это требование закона. И вы в этой справке увидите стаж и зарплату работника для оплаты больничных листов.

Если специалист работает на 0,5 ставки, в бумажном варианте трудовой книжки для медицинского персонала мы обязательно это указываем. А как эта информация отразится в отчете для ПФР? Можно это указывать в разделе “Трудовая функция”? Речь идет о внутреннем совместителе.

Иван Шкловец: Сведения в ПФР подаются как по основным работникам, так и по всем совместителям, и внутренним, и внешним. Если какие-то кадровые мероприятия у вас случились в отношении совместителя, точно так же заполняете форму СЗВ-ТД, и в графе “Трудовая функ­ция” указываете слово “совместитель”. Если у вас основной работник, слово “совместитель” вы не ставите.

Но здесь речь идет именно о 0,5 ставки. Мы же в трудовой книжке это не пишем, а вообще это подразумевается.

Иван Шкловец: По закону совместители не могут работать больше половины месячной нормы рабочего времени. Продолжительность рабочего времени вы отражаете в трудовом договоре с работником и в приказе. В трудовой книжке продолжительность рабочего времени не указывается. Соответственно, и в форму СЗВ-ТД вы продолжительность не вносите. Но форма СЗВ-ТД подается на всех работников, включая совместителей.

Если работник написал заявление о продолжении ведения бумажной трудовой книжки и при этом подал заявление, чтобы мы выдали ему СТД-Р, мы обязаны ему выдавать? Или мы можем отказать, так как мы ведем бумажный документ?

Иван Шкловец: Нет, работник может подать только одно из двух заявлений. Если он подал вам заявление о продолжении ведения бумажной трудовой книжки, у него нет права на получение сведений в электронном виде. До тех пор, пока не откажется от бумажной.

Сведения в ПФР работодатели подают как по основным работникам, так и по всем совместителям, и внутренним, и внешним

А если работник отказался от бумажной трудовой книжки, в СТД-Р мы должны учитывать сведения с момента приема на работу или с момента, как он написал заявление?

Иван Шкловец: Сведения по форме СТД-Р вы выдаете в той форме, в которой попросил работник в своем заявлении. Но в этих сведениях вы указываете всю трудовую деятельность работника в организации. Вы вносите первую запись о приеме на работу, все записи, которые касаются кадровых мероприятий, и завершающую запись – последнее кадровое мероприятие в отношении него.

Если код выполняемой функции берется из профессионального стандарта, а в стандарте, допустим, определенной профессии или должности, нет, то графа остается незаполненной?

Иван Шкловец: Да. До 2021 года эта графа остается незаполненной. Если и в 2021 году проф­стандарта нет, вы также оставляете эту графу незаполненной. До тех пор, пока профстандарт не станет обязательным для применения в вашей организации.

Если работник пришел с формой СТД-Р, мы ее должны где-то хранить? Или мы данные вносим и ему отдаем эту форму?

Иван Шкловец: Работник, выбравший “электронную трудовую книжку” у предыдущего работодателя, должен представить при приеме на работу форму СТД-Р. Вы начинаете формировать сведения только за период работы работника в вашей компании. Обязанности хранить такие сведения новому работодателю законом не предусмотрены, но и запрета нет.

В бумажной трудовой книжке в записи об увольнении мы пишем: “В связи с выходом на пенсию”. Есть ли такая необходимость делать это в отчете СТД-Р?

Иван Шкловец: При расторжении трудового договора по инициативе работника в отдельных случаях запись об увольнении (прекращении трудового договора) вносится в трудовую книжку с указанием конкретных причин, в том числе при увольнении в связи с выходом на пенсию. Если работник в заявлении на увольнение такие причины указывает, они указываются также в приказе об увольнении и в трудовой книжке.

Порядок заполнения формы СЗВ-ТД такого требования не содержит. В обязательном порядке указывается пункт, часть и статья Трудового кодекса.

Обязательно ли готовить уведомление о праве выбора бумажной или электронной трудовой книжки на каждого сотрудника? Или можно издать общее письмо для всех, а далее собрать листы ознакомления с указанием ФИО, должности?

Иван Шкловец: Уведомление вручается в письменном виде каждому работнику под роспись. Не допускается вывешивать какой-либо общий список.

Нужно ли все эти заявления о выборе приобщать к личному делу? Если нет, то как хранить?

Иван Шкловец: Закон не содержит требований ведения личных дел, за исключением государственных служащих. Поэтому, если вы приняли для себя решение, формировать и вести личные дела, можете это делать. Однако если вы ведете личные дела на работников, то обязаны соблюдать требования в отношении ведения личных дел и хранения в них документов. В этом случае заявления работников включаются в состав личных дел и хранятся в течение 75 лет.

Если вы личные дела не ведете, срок хранения таких заявлений может устанавливаться локальным нормативным актом. При этом следует иметь в виду, что работодатель в отдельных случаях должен будет доказать наличие такого заявления.

Как отражать в отчетности такую ситуацию: человек принят по срочному трудовому договору на время, допустим, на место декретницы. Нам надо перевести его на другое место, тоже по срочному трудовому договору, но не оформлять это через прием и увольнение. Возможно закрепить этого работника постоянным договором? А в допсоглашении мы пропишем новые условия для него?

Иван Шкловец: Конечно, это возможно. Вы принимаете на работу работника по срочному трудовому договору. А потом начинаете его переводить с одной должности на другую. Но только речь может идти о постоянном переводе. При временном переводе в отчет эти сведения не попадают. Вот вы перевели постоянно, сформировали новый отчет, отправили в Пенсионный фонд. Еще раз перевели на другую должность, еще раз сформировали отчет, и так до тех пор, пока не истечет срок трудового договора. И в трудовой книжке работника все эти шаги должны быть отражены.

В 2021 году нужно будет подавать отчет, не позднее следующего рабочего дня после даты издания приказа о приеме или увольнении сотрудника. Приказ об увольнении издается заранее, чтобы бухгалтерия успела рассчитать сотрудника. Но до даты наступления события может многое поменяться. К примеру, заявление может быть отозвано. Так же бывает и с приемом на работу. Приказ издается заранее. А к работе человек приступит на несколько дней позже. К примеру, моряк, судно которого находится в море, будет добираться до судна долго, на вертолете, катере. Будет ли как-то скорректирована норма, что делать в ситуациях, когда все меняется на ходу? Можно ли все-таки подавать не на следующий день, а позже?

Иван Шкловец: Форма не изменится в 2021 году. Изменятся только сроки ее представления. С 2021 года в случае приема на работу работника отчет в ПФР направляется не позднее рабочего дня, следующего за днем издания соответствующего приказа. Таким образом кадровую работу следует выстроить так, чтобы выполнять требование закона.

Если в компании есть высококвалифицированные иностранные специалисты (ВКС), которые не должны иметь и не имеют СНИЛСа, ПФР будет принимать отчет СЗВ-ТД? Что работодатели должны написать в столбце, где указывается СНИЛС?

Иван Шкловец: С 1 апреля 2019 года получение СНИЛС заменено понятием регистрация в системе индивидуального персонифицированного учета. ВКС у нас СНИЛС не получали. Но они все равно регистрируются в системе индивидуального персонифицированного учета. И именно номера регистрации должны отражаться в отчете СЗВ-ТД. И на высококвалифицированных специалистов тоже надо формировать отчеты для ПФР.

Иностранные работники тоже должны выбирать между бумажной трудовой книжкой и электронной? И если да, то все – и ВКС, и банальные дворники?

Иван Шкловец: На иностранцев, работающих в России, распространяются те же нормы трудового законодательства, что и на россиян. В отношении них ведутся трудовые книжки, их тоже нужно уведомить о выборе, ждать заявления.

Сотрудника по личному заявлению переводят с полной ставки на неполный рабочий день. Должность остается прежняя. Надо ли заполнять изменение в трудовой книжке и, соответственно, вносить в отчет СЗВ-ТД?

Иван Шкловец: Нет, ни в трудовую книжку, ни в отчет эту информацию не вносят.

Где можно найти формы заявления о переходе на электронную трудовую книжку и уведомления сотрудников? На официальном сайте ПФР и минтруда нет.

Иван Шкловец: Закон эту форму не утверждает. Сейчас эксперты уже рекомендуют правильные формы заявлений. Заявление простое: прошу вести мою трудовую книжку в соответствии со статьей 66 Трудового кодекса. Второе заявление: прошу предоставлять мне сведения о трудовой деятельности в соответствии со статьей 66-1 Трудового кодекса.

Как отразить в СЗВ-ТД временный перевод, который стал постоянным?

Иван Шкловец: Если вы временно перевели работника на другую должность, а через год она стала для него постоянной, или до истечения года вы приняли решение о постоянном характере, вы издаете два приказа. Сначала о временном переводе, а потом – о том, что данная должность уже стала постоянной. И в трудовой книжке в четвертой графе всегда делается ссылка на два приказа.

То же самое мы рекомендуем делать и в СЗВ-ТД – указывать два приказа. Если при подаче сведений система вам выдаст ошибку, нужно будет обратиться за консультацией в ПФР.

Если вести трудовую книжку в электронном виде, мы можем подавать в ПФР сведения о работе человека именно в нашем учреждении? А если у него до этого был богатый стаж?

Иван Шкловец: В Пенсионный фонд не надо дублировать “старые” сведения работника. Они уже сформированы. В отчет СЗВ-ТД вы погружаете только кадровые мероприятия, которые произошли после 1 января 2020 года. Допустим, вы 16 марта 2020 года уволили работника. Вы подаете в ПФР форму, в которой первой записью вносите последнюю кадровую запись по состоянию на 1 января 2020 года. Допустим, вы его приняли на работу в 2016 году и с должности на должность не переводили. Вы первой строкой пишете: принят на работу тогда-то. Вторая запись: уволен 16 марта 2020 года. Все, в апреле предоставляете отчет.

Право выбора

Отказ невозможен

Если у организации нет возможности выдавать работнику сведения об его трудовой деятельности в электронном виде, а только в бумажном, насколько это критично?

Иван Шкловец: Это весьма критично, потому что, если работник напишет в заявлении, что хочет получить такие сведения в электронном виде, а вы ему откажете, вас может наказать инспекция труда.

Уже многие работодатели перешли на электронный кадровый документооборот. Они используют различные программы, базы данных. Сейчас, когда мы вводим сведения в электронном виде, все работодатели просто обязаны обзавестись программными продуктами. И подписывать эти сведения усиленной квалифицированной электронной подписью. Не забудьте оформить на ответственного сотрудника вашей компании такую подпись.

Вы можете использовать свои программные продукты, а можете воспользоваться программой, которую предлагает бесплатно ПФР – ее можно скачать на сайте фонда. Ваша программа должна быть интегрирована в систему и предоставлять вам возможность передавать сведения в ПФР.

Данные, которые запрашивает работник, можно будет направить ему, к примеру, на электронный адрес. Вы ему должны будете направить сведения о трудовой деятельности в том формате, в каком он сможет их прочитать. Предусмотрите в своем локальном нормативном акте формат предоставления сведений работнику в электронном виде и ознакомьте с ним всех работников.

Иван Шкловец: Закон требует именно письменного уведомления работников, устного – недостаточно. Фото: Сергей Куксин

В России вводятся электронные трудовые книжки — Российская газета

С 1 января работникам, трудоустраивающимся впервые, будут оформляться только электронные трудовые книжки. Для тех, у кого уже есть трудовая, переход на электронную версию стал возможностью, но не обязанностью. Работник, подавший заявление о продолжении ведения трудовой книжки в бумажном формате, имеет право в дальнейшем подать работодателю письменное заявление о предоставлении сведений о трудовой деятельности в электронном виде. А вот если человек уже выбрал электронный формат, то вернуться к бумажному у него не получится. Бумажную трудовую он получил на руки и должен хранить ее дома.

Работодатель будет формировать в электронном виде основную информацию о трудовой деятельности и трудовом стаже каждого работника и предоставлять ее для хранения в информационных ресурсах Пенсионного фонда РФ.

Определиться с трудовой нужно было до 31 декабря 2020 года. До этого времени каждый официально трудоустроенный работник должен был подать в отдел кадров своей организации заявление, в котором указать, какую книжку он выбирает – привычный вариант или цифровой. Если человек так и не написал заявление, то у него остается бумажная трудовая.

Зачем нужны электронные трудовые книжки

Главный плюс – они сведут к минимуму риск потери работниками сведений о своем трудовом стаже, освободят их от обязанности самим заниматься восстановлением данных о том, где и сколько они работали.

Тем, кто восстанавливал стаж, раньше приходилось изрядно помучиться. А зачастую это оказывалась просто невозможно сделать, если, например, организация ликвидировалась.

Как ранее поясняли “Российской газете” в Роструде, у электронных трудовых есть и другие преимущества. Это минимизация ошибок и неточностей в записях, удобство получения сведений. Так, через личный кабинет на сайте ПФР каждый работник будет иметь возможность следить, как его работодатель уплачивает страховые взносы, из которых формируется будущая пенсия. Если найдется ошибка, можно сразу же обратить на нее внимание сотрудников Пенсионного фонда. Становится удобнее получать сведения для оформления визы, загранпаспорта или кредита в банке. Необходимые сведения можно будет запросить через портал Госуслуг, многофункциональный центр, в ПФР или у работодателя.

Трудовые не на бумаге: что изменилось с 1 января

При наличии электронных трудовых книжек работодатель будет формировать в электронном виде основную информацию о трудовой деятельности и трудовом стаже каждого работника и предоставлять ее для хранения в информационных ресурсах Пенсионного фонда РФ.

Не обязанность, а право

Работодатели по выбору работника теперь могут вести трудовые книжки в электронном виде. Изменения затронут около 60 млн работников и 8,4 млн хозяйствующих субъектов, включая предпринимателей без образования юридического лица.

Для тех, у кого уже есть трудовая, переход на электронную версию — возможность, а не обязанность.

Заявление

Если вы не подали заявление работодателю до 31 декабря 2020 года, трудовая останется в бумажном виде. Если у вас не было возможности уведомить работодателя, то книжка будет сохранена в бумажном виде до того момента, пока вы от нее не откажетесь.

Работник, подавший заявление о продолжении ведения трудовой книжки в бумажном формате, имеет право в дальнейшем подать работодателю письменное заявление о предоставлении сведений о трудовой деятельности в электронном виде.

Цифровизация

Тем, кто впервые поступает на работу после 31 декабря 2020 года, бумажные трудовые книжки оформляться не будут. Администрировать систему будет Пенсионный фонд России — фактически в ПФР будет создан дублер трудовой книжки.

При этом переход не будет резким — это очень важно.

Зачем они нужны?

В первую очередь электронные трудовые книжки избавят бизнес, отделы кадров компаний от излишних трудозатрат. Это особенно важно для крупных предприятий с большим числом сотрудников. 

Также они сведут к минимуму риск потери работниками сведений о своем трудовом стаже, освободят их от обязанности самим заниматься восстановлением данных о том, где и сколько они работали.

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

Работник может получить сведения о трудовой деятельности:

  • у работодателя по последнему месту работы — на бумажном носителе или в форме электронного документа;

  • в многофункциональном центре предоставления государственных и муниципальных услуг — на бумажном носителе;

  • в ПФР — на бумажном носителе или в форме электронного документа; 

  • на Едином портале государственных и муниципальных услуг — в форме электронного документа.

Трудовые книжки исчезнут. Что означает решение Рады для украинцев

  • Светлана Дорош
  • ВВС News Украина

Автор фото, UNIAN

Верховная Рада приняла закон, который отменяет трудовые книжки в бумажном виде и дает старт переходу на электронный формат.

Однако трудовые книжки, которые считают рудиментом прошлого века, не исчезнут сразу.

Предусмотрен 5-летний переходный период, в течение которого одновременно могут использоваться и бумажные, и электронные книжки.

Почему решили так сделать

Трудовые книжки вводились десятки лет назад, когда бумажные носители информации были единственными.

Сейчас правительство преследует несколько целей. Главная из них – упростить доступ к информации о стаже работников, а также ввести систему автоматического назначения пенсий или других социальных выплат без личного обращения человека.

Другими преимуществами считают устранение угрозы потерять или повредить книжку, или фальсифицировать данные в ней.

Книжка не нужна еще с 2004 года

Трудовая книжка, как известно, на протяжении десятилетий велась прежде всего для того, чтобы зафиксировать трудовой стаж, ведь от количества отработанных лет зависел размер будущей пенсии.

Автор фото, Ukrinform

Підпис до фото,

Электронные трудовые книжки – для тех, кто сейчас еще не думает о пенсии, а не для нынешних пенсионеров

Но в 2004 году ситуация изменилась. Понятие “трудовой стаж” упразднили, а ввели “страховой стаж”.

Для получения пенсии учитывают именно страховой стаж, и только те годы, месяцы и дни, за которые уплачены страховые взносы.

Эти данные и вносят в Государственный реестр общеобязательного социального страхования.

Итак, начиная с 1 января 2004 года, для подтверждения страхового стажа трудовая книжка действительно не нужна. Вся информация о работнике есть в этом реестре, именно им пользуется Пенсионный фонд, определяя стаж для пенсии.

Как бумажная “превратится” в электронную

Но возникает вопрос, как информация о записи в бумажной трудовой книжке, внесенные до 2004 года, попадут в реестр.

Закон предусматривает, что все данные из трудовой книжки, а также другие документы, подтверждающие трудовую деятельность, должны быть перенесены в реестр в виде оцифрованных или сканированных копий.

Автор фото, Ukrinform

Этот процесс, по данным Пенсионного фонда, начался. В прошлом году десятки тысяч граждан подали в ПФУ электронные копии книжек.

Очевидно, именно с этой целью и установлен 5-летний переходный период, в течение которого можно использовать как бумажную трудовую книжку, так и электронную.

Трудовую можно выбросить?

Электронные трудовые книжки прежде всего вводят для тех, кто сейчас еще не думает о пенсии, а не для нынешних пенсионеров.

Однако и выбрасывать трудовую книжку спешить не стоит. После 5-летнего срока данные о стаже можно будет подать в Пенсионный фонд так же, как и раньше – показав бумажную книжку.

Новый закон предусматривает, что после того, как работнику “завели” электронную, бумажную работодатель должен отдать на сохранение ее владельцу.

Пенсионный фонд – монополист?

Хотя закон выглядит прогрессивным, к нему есть много вопросов.

Эксперты отмечают, что введение электронных трудовых книжек позволит собрать в реестре сведения не только о трудовой деятельности человека, но и об обучении, стажировке, семейных отношениях, лечении, миграции.

“Целесообразность хранения в масштабах страны такой детальной информации в реестре – сомнительна”, – отмечают специалисты научно-экспертного управления парламента, напоминая, что создавался реестр, чтобы фиксировать информацию об уплате страховых взносов.

Эксперты предостерегают, что в результате действия этого закона Пенсионный фонд получает монополию на владение персональной информацией миллионов людей.

Многие работники и работодатели имеют ограниченный доступ к интернету, а значит и к информации в Госреестре.

Эксперт по социально-трудовым отношениям Сергей Кондрюк считает, что введение электронных книжек должно быть правом, а не обязанностью.

“Вообще говоря, тот, кто хочет считать на счетах, имеет право и дальше так считать, хотя большинство людей будут пользоваться современными технологиями”, – говорит он в комментарии ВВС News Украина.

“Так и с трудовыми книжками. Важно, чтобы работники имели право, а не обязанность переводить всю информацию о трудовой деятельности в электронный формат, чтобы такое право сохранялось не только в течение переходного периода”, – добавляет Сергей Кондрюк.

Правительство говорит, что электронная книга – это защита от фальсификаций и ошибок, которые в бумажных часто случаются. Но, напоминает Сергей Кондрюк, мошеннические действия в электронных системах банков, учреждений, в государственных реестрах – также не редкость, поэтому от бумажного учета совсем отказываться не стоит.

Хотите получать самые важные новости в мессенджер? Подписывайтесь на наш Telegram или Viber!

Нужна ли трудовая книжка для оформления загранпаспорта: правила 2021 года

Для оформления паспорта для поездок в другие страны, требуется комплект бумаг. Какие нужны справки, регулирует Административный регламент ГУВМ МВД РФ (ранее ФМС России). В статье разберемся, нужна ли трудовая книжка для оформления загранпаспорта в 2021 году.

У кого возникали трудности

Ранее для получения требовался оригинал и заверенная копия трудовой.

Это вызывало сложности у ряда претендентов:

  1. Лиц, которые не работали официально (по договору).
  2. Тех, которые работали на дому.

Граждане, которые работали в филиалах компании, не могли быстро получить документ, если главный офис находился в другом городе. Также это мешало своевременно заверить ксерокопию.

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

Если ранее оригинал и копию необходимо было заверять у работодателя, то на сегодняшний день в этом нет нужды. Требование было отменено с целью упрощения процедуры получения паспорта.

Правила 2021 года

Раньше, для оформления загранпаспорта нужна была трудовая. Это условие позволяло работникам службы ФМС РФ сверить данные, которые заявитель указал в бланке с теми, что имеются в его анкете.

Начиная с 2015 года, это требование было отменено.

Копия трудовой книжки

Кому не нужно предъявлять

В 2021 году, заявители, которые хотят стать обладателями паспорта для поездок за границу старого образца, освобождены от необходимости предоставлять трудовую книжку.

Кто предоставляет книжку ФМС

Граждане России, которые собирают необходимый комплект бумаг, не предоставляют копию трудовой, но вносят в заявление на загранпаспорт данные о трудоустройстве за последние 10 лет.
В бланке претендент указывает:

  1. На каком предприятии он работал.
  2. Когда вступил в должность и когда был сокращен/уволен или ушел по собственному желанию.
  3. Какую занимал должность.
  4. Где находиться место работы.

Отсутствие книжки

В случае если книжка утеряна, необходимо заполнить анкету для получения паспорта по памяти или основываясь,например, на данных в резюме. В бланке анкеты заявитель указывает (по памяти), где он работал последние 10 лет.

Если трудовой стаж менее этого срока, в бланк вписывают информацию об учебе в университете или другом учебном заведении.

Ложные сведения

Даже если не трудовая или ее копия не предъявляются, в бланке на получение должны указываться истинные данные. Сведения проверяются служащими ФМС России (ГУВМ МВД РФ). Если претендент предоставляет ложную информацию, в выдаче документа ему будет отказано.

Больше половины россиян отказались переходить на электронные трудовые книжки и сохранили бумажные Статьи редакции

{“id”:3659,”title”:”\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043e\u0431\u043b\u0430\u043a\u0435 \u2014 \u0437\u0430 \u0438 \u043f\u0440\u043e\u0442\u0438\u0432″,”url”:”\/redirect?component=advertising&id=3659&url=https:\/\/vc.ru\/promo\/246963-riskuem-poteryat-dannye-i-narushit-zakon-pochemu-kompanii-opasayutsya-oblakov&hash=0eb73f54df097ff9c6e704e01144cf1a94e86f2f94717d9fe80eceaf7136bc97″,”isPaidAndBannersEnabled”:false}

Официально электронные книжки начали действовать с 1 января.

9238 просмотров

Минтруд в проекте приказа рассказал о статистике перехода россиян на электронные трудовые книжки.

  • По данным на декабрь 2020 года, из 58,1 млн застрахованных россиян 34,8 млн предпочли сохранить бумажные трудовые книжки.
  • Заявления на электронные написали 5,1 млн человек.
  • Работники, которые не писали заявления о выборе между ЭТК и БТК, автоматически остаются с бумажными трудовыми книжками.

Переход на электронные трудовые книжки доброволен и происходит только с согласия работника. Замглавы Роструда Иван Шкловец объяснял «Российской газете», что ЭТК, в отличие от бумажной книжки, невозможно потерять, а также с ней снижаются риски ошибок при заполнении данных.

Одно из ключевых отличий БТК и ЭТК — это способ получения данных о трудовой деятельности. Перешедшие на электронный формат работники смогут запросить их, например, через сайт госуслуг. Данные работников с бумажными книжками также заносят в электронную базу, однако получить сведения можно только через отдел кадров, заверив копии документов.

Отказаться от бумажной трудовой книжки можно в любое время, написав заявление. Данные граждан, которые впервые официально трудоустроятся в 2021 году, автоматически будут вести только в электронном виде.

По данным опроса Superjob, проведённого в 2019 году, большинство россиян боятся перехода на ЭТК из-за возможных ошибок в электронных базах и потери данных. Как правило, против ЭТК выступали работники старше 45 лет, молодёжь в основном приветствовала инициативу

{ “author_name”: “Новости TJ”, “author_type”: “self”, “tags”: [“\u043d\u043e\u0432\u043e\u0441\u0442\u044c”,”\u043d\u043e\u0432\u043e\u0441\u0442\u0438″], “comments”: 97, “likes”: 20, “favorites”: 17, “is_advertisement”: false, “subsite_label”: “legal”, “id”: 195562, “is_wide”: false, “is_ugc”: true, “date”: “Mon, 11 Jan 2021 17:38:43 +0300”, “is_special”: false }

{“id”:633568,”url”:”https:\/\/vc.ru\/u\/633568-novosti-tj”,”name”:”\u041d\u043e\u0432\u043e\u0441\u0442\u0438 TJ”,”avatar”:”2ecb662b-e608-5235-b897-0468aee21834″,”karma”:7387,”description”:””,”isMe”:false,”isPlus”:true,”isVerified”:false,”isSubscribed”:false,”isNotificationsEnabled”:false,”isShowMessengerButton”:false}

{“url”:”https:\/\/booster.osnova.io\/a\/relevant?site=vc”,”place”:”entry”,”site”:”vc”,”settings”:{“modes”:{“externalLink”:{“buttonLabels”:[“\u0423\u0437\u043d\u0430\u0442\u044c”,”\u0427\u0438\u0442\u0430\u0442\u044c”,”\u041d\u0430\u0447\u0430\u0442\u044c”,”\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c”,”\u041a\u0443\u043f\u0438\u0442\u044c”,”\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c”,”\u0421\u043a\u0430\u0447\u0430\u0442\u044c”,”\u041f\u0435\u0440\u0435\u0439\u0442\u0438″]}},”deviceList”:{“desktop”:”\u0414\u0435\u0441\u043a\u0442\u043e\u043f”,”smartphone”:”\u0421\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b”,”tablet”:”\u041f\u043b\u0430\u043d\u0448\u0435\u0442\u044b”}},”isModerator”:false}

Блоги компаний

Еженедельная рассылка

Одно письмо с лучшим за неделю

Проверьте почту

Отправили письмо для подтверждения

Защита книги – служба поддержки Office

Чтобы другие пользователи не могли просматривать скрытые листы, добавлять, перемещать, удалять или скрывать листы, а также переименовывать листы, вы можете защитить структуру своей книги Excel паролем.

Примечание: Снимки экрана в этой статье были сделаны в Excel 2016. Если у вас другая версия, ваше представление может немного отличаться, но, если не указано иное, функциональность остается той же.

Примечания: Защита книги – это не то же самое, что защита файла Excel или рабочего листа паролем. См. Дополнительную информацию ниже:

Защитить структуру книги

Чтобы защитить структуру книги, выполните следующие действия:

  1. Щелкните Review > Protect Workbook .

    Примечание: Параметр Windows доступен только в Excel 2007, Excel 2010, Excel для Mac 2011 и Excel 2016 для Mac. Выберите параметр Windows , если вы хотите запретить пользователям перемещать, изменять размер или закрывать окно книги, а также скрывать / отображать окна.

  2. Введите пароль в поле Пароль .

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

  3. Выберите OK , повторно введите пароль для подтверждения, а затем снова выберите OK .

На вкладке Review найдите значок Protect Workbook . Если он выделен, книга защищена.

Если вы нажмете на нижнюю часть листа в своей книге, вы заметите, что параметры для изменения структуры книги, такие как Вставить , Удалить , Переименовать , Переместить , Копировать , Скрыть и Unhide листов недоступны.

Параметр Protect Workbook в меню Info также указывает, что структура книги защищена. Чтобы просмотреть этот параметр, щелкните File > Info > Protect Workbook .

Щелкните Review > Protect Workbook . Введите пароль и нажмите ОК .

Чтобы другие пользователи не могли просматривать скрытые листы, добавлять, перемещать, удалять или скрывать листы, а также переименовывать листы, вы можете защитить структуру своей книги Excel паролем.

Примечание: Снимки экрана в этой статье были сделаны в Excel 2016. Если у вас другая версия, ваше представление может немного отличаться, но, если не указано иное, функциональность остается той же.

Примечания: Защита книги – это не то же самое, что защита файла Excel или рабочего листа паролем. См. Дополнительную информацию ниже:

Защитить структуру книги

Чтобы защитить структуру книги, выполните следующие действия:

  1. Щелкните Review > Protect Workbook .

    Примечание: Параметр Windows доступен только в Excel 2007, Excel 2010, Excel для Mac 2011 и Excel 2016 для Mac. Выберите параметр Windows , если вы хотите запретить пользователям перемещать, изменять размер или закрывать окно книги, а также скрывать / отображать окна.

  2. Введите пароль в поле Пароль .

    Важно:

    • Пароль не обязателен. Если вы не укажете пароль, любой пользователь может снять защиту и изменить книгу. Если вы все же вводите пароль, убедитесь, что вы выбрали его, который легко запомнить. Запишите свои пароли и храните их в надежном месте. Если вы их потеряете, Excel не сможет восстановить их за вас.

    • Пароли в Excel для Mac имеют ограничение в 15 символов.Вы не можете открыть книгу или документ, защищенный паролем в версии Excel для Windows, или если пароль длиннее пятнадцати символов. Если вы хотите открыть файл в Excel для Mac, попросите автора, работающего в Windows, изменить длину пароля.

  3. Введите пароль еще раз и нажмите ОК .

На вкладке Review найдите значок Protect Workbook .Если он выделен, книга защищена.

Если вы нажмете на нижнюю часть листа в своей книге, вы заметите, что параметры для изменения структуры книги, такие как Вставить , Удалить , Переименовать , Переместить , Копировать , Скрыть и Unhide листов недоступны.

Щелкните Review > Protect Workbook .Введите пароль и нажмите ОК .

Чтобы снять защиту с листа, выполните следующие действия:

  1. Перейдите к листу, с которого нужно снять защиту.

  2. Перейдите к File > Info > Protect > Unprotect Sheet , или из вкладки Review > Changes > Unprotect Sheet .

  3. Если лист защищен паролем, введите пароль в диалоговом окне Снять защиту листа и нажмите OK .

Excel в Интернете может открывать книги, защищенные паролем, но эти файлы нельзя редактировать в Интернете. Пароли нельзя добавлять, изменять, удалять или восстанавливать из Excel в Интернете.

Если вы хотите добавить пароль к книге, над которой работаете в Excel в Интернете, и у вас есть настольное приложение Excel, используйте кнопку Открыть в Excel , чтобы открыть книгу и защитить книгу паролем. Но в дальнейшем вы сможете просматривать файл только в Интернете – чтобы внести изменения в книгу, откройте ее в настольной версии Excel.

Рекомендуемые системные требования для WorkBookWorkBook Help

  • Создано:
  • / Последнее обновление:
  • / Автор: Тим Дженсен

Это рекомендуемые системные требования для WorkBook.
Требования не универсальны и зависят от модели использования WorkBook. Индивидуальные требования также могут быть изменены / заменены соответствующим или аналогичным оборудованием.

Количество пользователей рассчитано для одновременных пользователей в сети.

Технические характеристики 1-20 пользователей 21-100 пользователей 101-250 пользователей 251-500 + пользователи
SQL Server Microsoft SQL Server Express 2019 Microsoft SQL Server 2019
Стандартный / Корпоративный
Microsoft SQL Server 2019 Standard / Enterprise Microsoft SQL Server 2019 Standard / Enterprise
Сервер Windows Microsoft Windows Server 2016 или новее Microsoft Windows Server 2016 или новее Microsoft Windows Server 2016 или новее Microsoft Windows Server 2016 или новее
Количество серверов 1 Сервер 1 Сервер 1 веб-сервер
1 сервер отчетов
1 сервер базы данных
1 веб-сервер
1 сервер отчетов
1 сервер базы данных
IIS 8.0+ 8.0+ 8.0+ 8.0+
– с поддержкой ASP.NET Есть Есть Есть Есть
Платформа .NET 4,6 4,6 4,6 4,6
Пакет SDK для Windows Azure Есть Есть Есть Есть
Процессор 2.4 ядра, 5 ГГц,, четырехъядерный, 2,5 ГГц SQL Server: четырехъядерный 2,5 ГГц
Веб-сервер: четырехъядерный 2,5 ГГц
SQL Server: четырехъядерный 2,5 ГГц
Веб-сервер: четырехъядерный 2,5 ГГц
Баран 8 ГБ 16 ГБ SQL-сервер: 32 ГБ
Веб-серверы: 8 ГБ
SQL-сервер: 64 ГБ
Веб-серверы: 8 ГБ
Жесткие диски Высокопроизводительные диски SATA или SAS в RAID 1 Высокопроизводительные диски SATA или SAS в RAID 1 SQL Server: 2 x SSD в RAID 1 или 4 x высокопроизводительных диска в RAID 10

Веб-сервер: 2 диска SATA в RAID 1

SQL Server: 2 x SSD в RAID 1 или 4 x высокопроизводительных диска в RAID 10

Веб-сервер: 2 диска SATA в RAID 1

Место на жестком диске (оценка) Файлы на сервере базы данных: 2 ГБ данных + 10 ГБ журнала.Прирост примерно: 1 ГБ в год *

Файлы приложений на веб-сервере: 3 ГБ + 10 ГБ Временное пространство на диске операционной системы.

(все вышеперечисленное за исключением хранилища файлов и операционной системы + приложений)

Файлы на сервере базы данных: 5 ГБ данных + 15 ГБ журнала. Прирост примерно: 3 ГБ в год *

Файлы приложений на веб-сервере: 3 ГБ + 10 ГБ Временное пространство на диске операционной системы.

(все вышеперечисленное за исключением хранилища файлов и операционной системы + приложений)

Файлы на сервере базы данных: 10 ГБ данных + 20 ГБ журнала.Прирост примерно: 5 ГБ в год *

Файлы приложений на веб-сервере: 3 ГБ + 10 ГБ Временное пространство на диске операционной системы.

(все вышеперечисленное за исключением хранилища файлов и операционной системы + приложений)

Файлы на сервере базы данных: 20 ГБ данных + 25 ГБ журнала. Прирост примерно: 10 ГБ в год *

Файлы приложений на веб-сервере: 3 ГБ + 10 ГБ Временное пространство на диске операционной системы.

(все вышеперечисленное за исключением хранилища файлов и операционной системы + приложений)

Доступ в Интернет Да, для продления лицензии, или это можно сделать вручную с интервалом в 14 дней. Да, для продления лицензии, или это можно сделать вручную с интервалом в 14 дней. Сервер базы данных: Нет

Веб-сервер: Да, для продления лицензии, или это можно сделать вручную с интервалом в 14 дней.

Сервер базы данных: Нет

Веб-сервер: Да, для продления лицензии, или это можно сделать вручную с интервалом в 14 дней.

* Объем жесткого диска является приблизительным и может варьироваться в зависимости от конфигурации WorkBook и объема данных, перенесенных из предыдущей системы.

Дополнительные требования к серверу в отношении локальной поддержки можно найти здесь.

Excel 2016: создание и открытие книг

Урок 3: Создание и открытие книг

/ ru / excel2016 /standing-onedrive / content /

Введение

файлов Excel называются книгами . Каждый раз, когда вы начинаете новый проект в Excel, вам нужно создать новую книгу .Начать работу с книгой в Excel можно несколькими способами. Вы можете выбрать создать новую книгу – либо с пустой книгой , либо с заранее разработанным шаблоном – или открыть существующую книгу .

Посмотрите видео ниже, чтобы узнать больше о создании и открытии книг в Excel.

О OneDrive

Всякий раз, когда вы открываете или сохраняете книгу, у вас будет возможность использовать свой OneDrive , который представляет собой службу онлайн-хранилища файлов, включенную в вашу учетную запись Microsoft.Чтобы включить эту опцию, вам нужно войти в в Office. Чтобы узнать больше, посетите наш урок по пониманию OneDrive.

Чтобы создать новую пустую книгу:
  1. Выберите вкладку Файл . Появится представление Backstage .
  2. Выберите Новый , затем щелкните Пустая книга .
  3. Появится новая пустая книга.
Чтобы открыть существующую книгу:

Помимо создания новых книг, вам часто нужно открыть книгу, которая была ранее сохранена.Чтобы узнать больше о сохранении книг, посетите наш урок по сохранению и совместному использованию книг.

  1. Перейдите в представление Backstage , затем щелкните Открыть .
  2. Выберите Компьютер , затем нажмите Обзор . Кроме того, вы можете выбрать OneDrive , чтобы открывать файлы, хранящиеся на вашем OneDrive .
  3. Появится диалоговое окно Открыть . Найдите и выберите свою книгу , , затем нажмите Открыть .

Если вы недавно открывали нужную книгу, вы можете просматривать свои Недавние книги , а не искать файл.

Чтобы закрепить книгу:

Если вы часто работаете с той же книгой , вы можете закрепить ее в представлении Backstage для более быстрого доступа.

  1. Перейдите к Backstage вид , затем щелкните Открыть . Появятся ваши недавно отредактированные книги .
  2. Наведите указатель мыши на книгу , которую вы хотите закрепить.Канцелярская кнопка Значок появится рядом с книгой. Щелкните значок кнопки .
  3. Книга останется в последних книгах. Чтобы открепить книгу, просто щелкните значок канцелярской кнопки еще раз.

Использование шаблонов

Шаблон – это предварительно разработанная электронная таблица , которую можно использовать для быстрого создания новой книги. Шаблоны часто включают пользовательских форматирования и предопределенных формул , поэтому они могут сэкономить вам много времени и усилий при запуске нового проекта.

Чтобы создать новую книгу на основе шаблона:
  1. Щелкните вкладку Файл , чтобы получить доступ к представлению Backstage .
  2. Выбрать Новый . Несколько шаблонов появятся под параметром Пустая книга .
  3. Выберите шаблон , чтобы просмотреть его.
  4. Появится предварительный просмотр шаблона вместе с дополнительной информацией о том, как можно использовать шаблон.
  5. Нажмите Создать , чтобы использовать выбранный шаблон.
  6. Появится новая книга с выбранным шаблоном .

Вы также можете просматривать шаблоны по категории или использовать строку поиска , чтобы найти что-то более конкретное.

Важно отметить, что не все шаблоны созданы Microsoft. Многие из них созданы сторонними поставщиками и даже отдельными пользователями, поэтому некоторые шаблоны могут работать лучше, чем другие.

Режим совместимости

Иногда может потребоваться работа с книгами, созданными в более ранних версиях Microsoft Excel, таких как Excel 2003 или Excel 2000.Когда вы открываете книги этих типов, они отображаются в режиме совместимости .

Режим совместимости отключает определенные функции, поэтому вы сможете получить доступ только к командам из программы, которая использовалась для создания книги. Например, если вы откроете книгу, созданную в Excel 2003, вы сможете использовать только вкладки и команды из Excel 2003.

На изображении ниже вы можете видеть, что книга находится в режиме совместимости, который указан в верхней части окна справа от имени файла.Это отключит некоторые функции Excel 2016, и они будут выделены серым цветом на ленте.

Чтобы выйти из режима совместимости, вам нужно преобразовать книгу в текущий тип версии. Однако, если вы сотрудничаете с другими людьми, у которых есть доступ только к более ранней версии Excel, лучше оставить книгу в режиме совместимости, чтобы формат не изменился.

Чтобы преобразовать книгу:

Если вам нужен доступ ко всем функциям Excel 2016, вы можете преобразовать книгу в формат файла 2016.

Обратите внимание, что преобразование файла может вызвать некоторые изменения в исходном макете книги.

  1. Щелкните вкладку Файл , чтобы получить доступ к представлению Backstage.
  2. Найдите и выберите команду Преобразовать .
  3. Откроется диалоговое окно Сохранить как . Выберите расположение , в котором вы хотите сохранить книгу, введите имя файла для книги и нажмите Сохранить .
  4. Книга будет преобразована в файл новейшего типа.

Вызов!

  1. Откройте нашу рабочую тетрадь.
  2. Обратите внимание, что наша книга открывается в режиме совместимости . Преобразует книгу в формат файла 2016. Появится диалоговое окно с вопросом, хотите ли вы закрыть и снова открыть файл, чтобы увидеть новые функции. Выберите Да .
  3. Наконец, в представлении Backstage закрепите файл или папку.

/ ru / excel2016 / save-and-sharing-workbooks / content /

Как создавать рабочие тетради | Ассоциация авторов документальной литературы

Рабочие тетради

могут стать прекрасным дополнением к вашим предложениям, поскольку они часто имеют более высокую воспринимаемую ценность, чем даже стандартная книга в твердом или мягком переплете.В самой идее заполнения рабочих листов и выполнения упражнений есть что-то, что заставляет нас тратить больше денег на рабочую тетрадь. В то время как типичная торговая книга в мягкой обложке может продаваться по цене от 15 до 20 долларов, рабочая тетрадь часто может продаваться по цене от 25 до 50 долларов, в зависимости от рынка.

Рабочие тетради

можно продавать как сопутствующие товары во время выступлений или учебных семинаров, и если крупная компания наняла вас для участия в мероприятии, вы также можете предварительно продать рабочие тетради для участников. Часто стоимость подобных материалов исходит из другого бюджета, чем плата, уплаченная докладчику или преподавателю.

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

Форматирование и распространение

В большинстве случаев книгу следует публиковать в более крупном формате, например 8 × 10 или 8,5 × 11. Спиральный формат часто является первым выбором для рабочей книги, однако имейте в виду, что это может быть ограничивающим фактором. Если вы намереваетесь опубликовать свою рабочую тетрадь и направить ее в широкое распространение, библиотеки и книжные магазины с меньшей вероятностью будут иметь вашу книгу, если она будет скреплена спиралью.Для этого есть две причины: у книг в спиральном переплете отсутствует корешок, и браузерам книжных магазинов и библиотек будет сложнее заметить книгу, если она не выложена лицевой стороной наружу. Библиотеки также стараются избегать книг в спиральном переплете, потому что они не так долговечны, как другие типы книжных переплетов.

Если торговое распределение вас не интересует, непременно распечатайте свою рабочую тетрадь в спиральном переплете. Если вам нужно небольшое количество копий, наиболее рентабельным вариантом может стать посещение местного копировального магазина, где они сделают это за вас.Еще один источник меньших тиражей – Lulu.com, хотя я бы не рекомендовал их для больших тиражей или крупного распространения, потому что их цены будут выше, чем цены, которые вы можете найти в других типографских компаниях.

Если вы собираетесь распространять свою книгу на Amazon и других розничных продавцах, лучше всего выбрать печать с «идеальным переплетом», что является другим термином для стандартной книги в мягкой обложке с корешком. Когда вы печатаете в большем формате, например 8 × 10, вы можете быть удивлены тем, насколько хорошо эти книги могут лежать достаточно ровно, чтобы работать.

Если вы настроены печатать в спиральном переплете и в больших количествах с крупной рассылкой, вам нужно будет запросить расценки у типографий. Не все принтеры предлагают этот тип переплета, и цены могут сильно отличаться. Некоторые могут потребовать, чтобы вы заказали тысячи копий, в то время как другие могут иметь конкурентоспособную цену за 500 копий.

Как разработать содержимое книги

Содержимое вашей книги может поступать из разных мест. Я часто создаю сопутствующие рабочие тетради с моими «обычными» книгами, что очень удобно для моих читателей.Для этого я просматриваю обычную книгу по страницам и ищу области, в которых материал учебного пособия имеет смысл. То же самое можно сделать, сначала набросав в общих чертах презентацию или учебную программу, а затем изучив ее постепенно, чтобы определить, какие упражнения вы можете извлечь из своего материала.

Ниже приводится обзор типов страниц книги, которые вы можете создать.

Рабочий лист – Рабочий лист требует больше усилий со стороны пользователя книги.Обычно это означает, что на странице необходимо заполнить несколько различных типов информации или, возможно, выполнить некоторые математические вычисления. Например, в вашей книге может быть страница о бюджетировании, где пользователь заполняет поля, которые вы уже определили для него, добавляет несколько своих собственных, а затем заполняет соответствующие суммы.

Вот еще несколько идей:

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

Вопросы и ответы – В моей книге «Собери свою нишу» я рекомендую читателям сузить круг своей целевой аудитории, чтобы они могли лучше продавать свои продукты и услуги.Это превратилось в простой лист вопросов и ответов с небольшим пространством для ввода после каждого вопроса:

  • Кто ваши текущие клиенты (т. Е. Целевая аудитория)?
  • Ваша ниша слишком широка?
  • На каких возможных нишах вы могли бы сосредоточиться?
  • Есть ли какие-либо отрасли, в которых у вас уже есть опыт или уже есть следующие?
  • Каковы отраслевые перспективы для выбранной вами ниши; он растет?
  • Могут ли они позволить себе ваши продукты и услуги?
  • Достаточно ли велика бизнес-возможность для вас?

Списки – Вы можете предложить читателям учебной книги составить какой-нибудь список.Например, один из рабочих листов, который я создал для своей рабочей тетради «Собери свою нишу», просит читателя перечислить потребности и проблемы, с которыми, по их мнению, борется их целевая аудитория. Показаны примеры, в том числе «проблемы с маркетингом в Интернете» и «не знает, как использовать Twitter». Мозговой штурм списка может помочь читателю определить проблемы, идеи или другие области, которые необходимо решить в вашей рабочей тетради.

Таблица целей – Подотчетность является важным элементом для многих в достижении любого вида успеха, и помощь пользователям вашей рабочей тетради в постановке целей может дать им дополнительный стимул.Например, во время тура выходного дня Опры «Жизнь, которую ты хочешь» участникам раздали рабочие тетради. На одной из страниц читателей попросили перечислить свои цели, которых они намерены достичь в ближайшие месяцы и годы. Это просто другой стиль списка, но читатели его часто ценят.

Действия пользователя – Этот тип листа может быть размещен в конце каждого раздела или в конце книги. Это место, где читатель может перечислить свои следующие шаги и, возможно, назначить крайний срок для завершения каждого действия.

Контрольный список – Контрольный список может быть таким же простым, как список продуктов, которых следует избегать, список предметов для покупки или список шагов, которые необходимо предпринять перед тем, как продолжить.

Диаграмма – Если есть что-то, что можно продемонстрировать с помощью круговой диаграммы, гистограммы или другого типа диаграммы, визуальные элементы всегда могут улучшить взаимодействие с читателем, особенно когда диаграмма становится рабочим листом, требующим от читателя ввода информации. .

Расписание или электронная таблица – Мне нравится предоставлять страницы в стиле электронных таблиц, которые необходимо заполнить, особенно если это тот тип контента, который читатель захочет скопировать и опубликовать на своем столе или на кухне – где-нибудь, о чем им напоминают материал каждый день!

Ресурсы – Еще один отличный способ повысить ценность для ваших читателей – это предоставить список ресурсов.Я всегда включаю веб-сайты, рекомендации по книгам и другие предложения для читателей в конце своих книг. Часто эта информация собирается из ресурсов, упомянутых в книге. Читателям нравится, когда вся информация указана в одном месте, и они будут рады, если вы включите это в свою рабочую тетрадь.

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

Рабочая тетрадь по разработке и оформлению

Ваша рабочая тетрадь заслуживает такого же профессионализма, как и стандартная книга или любой другой деловой материал, который вы публикуете. Значит, его нужно профессионально редактировать и оформлять. Планировкой интерьера в идеале должен заниматься тот, кто зарабатывает на жизнь дизайном внутренней книги. Просто спросите друга, который знает, как использовать Word, не даст такого впечатляющего результата, как работа с настоящим графическим дизайнером, который использует необходимые инструменты, чтобы сделать ваши страницы как можно более привлекательными.

То же самое верно для обложки, корешка и задней обложки вашей рабочей тетради. Реальность такова, что люди ДЕЛАЮТ просто книгу по обложке, поэтому убедитесь, что вы инвестируете в профессиональный дизайн обложки. Обложка книги должна иметь заметный шрифт, привлекательные цвета и элегантную простоту. При уменьшении размера изображение должно выглядеть так же привлекательно, как если бы оно было размещено на Amazon.com.

Если вам понравился этот пост в блоге, вам понравятся наши курсы публикации! Узнайте больше о наших курсах для авторов здесь.

Класс Workbook – Документация XlsxWriter

Класс Workbook – это основной класс, предоставляемый модулем XlsxWriter, и он единственный класс, который вам нужно будет создать напрямую.

Класс Workbook представляет всю электронную таблицу, как вы ее видите в Excel и внутренне он представляет файл Excel в том виде, в каком он записан на диск.

Конструктор

Рабочая тетрадь ( имя файла [, параметры ])

Создайте новый объект книги XlsxWriter.

Параметры:
  • имя_файла ( строка ) – Имя создаваемого нового файла Excel.
  • options ( dict ) – дополнительные параметры книги. См. ниже.
Тип возврата:

Объект Workbook.

Конструктор Workbook () используется для создания новой книги Excel с данное имя файла:

 импорт xlsxwriter

рабочая книга = xlsxwriter.Книга ('filename.xlsx')
рабочий лист = workbook.add_worksheet ()

worksheet.write (0, 0, 'Привет, Excel')

workbook.close ()
 

Варианты конструктора:

  • constant_memory : уменьшает объем данных, хранящихся в памяти, чтобы большие файлы могут быть записаны эффективно:

     workbook = xlsxwriter.Workbook (имя файла, {'constant_memory': True})
     

    Обратите внимание: в этом режиме строка данных записывается, а затем отбрасывается, когда ячейка в новую строку добавляется одним из методов рабочего листа write_ () .Поэтому, как только этот режим активен, данные следует записывать последовательно. порядок строк. По этой причине add_table () и merge_range () Методы рабочего листа в этом режиме не работают.

    Подробнее см. Работа с памятью и производительностью.

  • tmpdir : XlsxWriter сохраняет данные книги во временных файлах до для сборки окончательного файла XLSX. Временные файлы создаются в системный временный каталог. Если временный каталог по умолчанию недоступен вашему приложению или в нем недостаточно места, вы можете указать альтернативное расположение с использованием опции tmpdir :

     книга = xlsxwriter.Книга (имя файла, {'tmpdir': '/ home / user / tmp'})
     

    Временный каталог должен существовать и не будет создан.

  • in_memory : Чтобы избежать использования временных файлов при сборке окончательный файл XLSX, например, на серверах, на которых не разрешены временные файлы, установите in_memory вариант конструктора до True :

     workbook = xlsxwriter.Workbook (имя файла, {'in_memory': True})
     

    Этот параметр отменяет параметр constant_memory .

    Примечание

    Этот вариант использовался в качестве рекомендуемого способа развертывания XlsxWriter на Google APP Engine, поскольку он не поддерживает каталог / tmp . Тем не мение, среда выполнения Python 3 в Google App Engine теперь поддерживает файловая система с доступом для чтения / записи в / tmp что означает, что эта опция не требуется. Каталог / tmp не поддерживается. в среде выполнения Python 2, поэтому эта опция по-прежнему требуется там.

  • strings_to_numbers : включить рабочий лист. write () метод преобразования строк в числа, где это возможно, используя float () , чтобы избежать Excel предупреждение о «Числах, сохраненных как текст». По умолчанию Ложь . Включить используйте эту опцию:

     workbook = xlsxwriter.Workbook (имя файла, {'strings_to_numbers': True})
     
  • strings_to_formulas : Включите рабочий лист. write () метод преобразования строк в формулы. По умолчанию – Истинно .Чтобы отключить эту опцию, используйте:

     workbook = xlsxwriter.Workbook (имя файла, {'strings_to_formulas': False})
     
  • strings_to_urls : включить рабочий лист. написать () метод преобразования строк в URL-адреса. По умолчанию – Истинно . Чтобы отключить это вариант использования:

     workbook = xlsxwriter.Workbook (имя файла, {'strings_to_urls': False})
     
  • use_future_functions : разрешить использование более новых «будущих» функций Excel. без необходимости добавлять к ним префикс _xlfn.. По умолчанию Ложь . Чтобы включить эту опцию, используйте:

     workbook = xlsxwriter.Workbook (имя файла, {'use_future_functions': True})
     

    См. Также Формулы, добавленные в Excel 2010 и более поздних версиях.

  • max_url_length : установите максимальную длину гиперссылок на листах. В по умолчанию – 2079, минимальное – 255. Версии Excel до Excel 2015 ограниченные гиперссылки и привязки / местоположения до 255 символов каждый. Версии после этого поддерживают URL до 2079 символов.XlsxWriter версии> = 1.2.3 по умолчанию поддерживают новый более длинный лимит. Однако более низкий или определяемый пользователем предел может быть установлен с помощью параметра max_url_length :

     workbook = xlsxwriter.Workbook (имя файла, {'max_url_length': 255})
     
  • nan_inf_to_errors : Включите рабочий лист. write () и write_number () методы для преобразования nan , inf и -inf в ошибки Excel. Excel не обрабатывает NAN / INF как числа, поэтому в качестве обходного пути они сопоставляются формулы, которые дают коды ошибок # ЧИСЛО! и # DIV / 0! .По умолчанию это Ложь . Чтобы включить эту опцию, используйте:

     workbook = xlsxwriter.Workbook (имя файла, {'nan_inf_to_errors': True})
     
  • default_date_format : этот параметр используется для указания даты по умолчанию строка формата для использования с рабочий лист. write_datetime () , когда явный формат не указан. Подробнее см. Работа с датой и временем. подробнее:

     xlsxwriter.Workbook (имя файла, {'default_date_format': 'dd / mm / yy'})
     
  • remove_timezone : Excel не поддерживает часовые пояса с указанием даты и времени, поэтому не существует надежного способа, которым XlsxWriter может сопоставить часовой пояс Python с учетом datetime в дату и время Excel в таких функциях, как write_datetime () .Таким образом, пользователь должен преобразовать и удалить часовые пояса каким-то образом, что имеет смысл в соответствии с их требования. В качестве альтернативы можно использовать параметр remove_timezone для удалить часовой пояс из значений даты и времени. По умолчанию Ложь . Включить используйте эту опцию:

     workbook = xlsxwriter.Workbook (имя файла, {'remove_timezone': True})
     

    См. Также Обработка часовых поясов в XlsxWriter.

  • use_zip64 : использовать расширения ZIP64 при записи zip-контейнера файла xlsx чтобы разрешить файлы размером более 4 ГБ.Это то же самое, что и звонок use_zip64 () после создания объекта Workbook. Этот конструктор option – это просто синтаксический сахар, чтобы использовать эту опцию больше явный. Следующие эквиваленты:

     workbook = xlsxwriter.Workbook (имя файла, {'use_zip64': True})
    
    # Такой же как:
    workbook = xlsxwriter.Workbook (имя файла)
    workbook.use_zip64 ()
     

    См. Примечание о предупреждении Excel, вызванном использованием этого параметра в use_zip64 () .

  • date_1904 : Excel для Windows использует эпоху по умолчанию 1900 и Excel для Mac использует эпоху 1904 года.Однако Excel на любой платформе преобразует автоматически между одной системой и другой. XlsxWriter хранит даты в формат 1900 по умолчанию. Если вы хотите изменить это, вы можете использовать date_1904 вариант книги. Этот вариант предназначен в основном для расширенных совместимость с Excel и вообще не требуется очень часто:

     workbook = xlsxwriter.Workbook (имя файла, {'date_1904': True})
     

При указании имени файла рекомендуется использовать .XLSX extension или Excel выдаст предупреждение при открытии файла.

Метод Workbook () также работает с с диспетчером контекста . В в этом случае не требуется явный оператор close () :

 с xlsxwriter.Workbook ('hello_world.xlsx') в качестве книги:
    рабочий лист = workbook.add_worksheet ()

    worksheet.write ('A1', 'Привет, мир')
 

Можно записывать файлы в строки в памяти с помощью BytesIO следующим образом:

 из io import BytesIO

вывод = BytesIO ()
рабочая книга = xlsxwriter.Рабочая тетрадь (вывод)
рабочий лист = workbook.add_worksheet ()

worksheet.write ('A1', 'Привет')
workbook.close ()

xlsx_data = output.getvalue ()
 

Чтобы избежать использования каких-либо временных файлов и сохранить весь файл в памяти, используйте параметр конструктора in_memory , показанный выше.

См. Также Пример: простой HTTP-сервер (Python 2) и Пример: простой HTTP-сервер (Python 3).

workbook.add_worksheet ()

add_worksheet ([ название ])

Добавить новый лист в книгу.

Параметры:

имя ( строка ) – необязательное имя рабочего листа, по умолчанию Sheet1 и т. Д.

Тип возврата:

Объект листа.

Повышение:

Метод add_worksheet () добавляет новый рабочий лист в книгу.

По крайней мере, один рабочий лист должен быть добавлен в новую книгу.В Объект рабочего листа используется для записи данных и настройки лист в книге.

Параметр name является необязательным. Если он не указан или пуст, будут соблюдаться соглашения Excel по умолчанию, то есть Sheet1, Sheet2 и т. д .:

 worksheet1 = workbook.add_worksheet () # Sheet1
worksheet2 = workbook.add_worksheet ('Foglio2') # Foglio2
worksheet3 = workbook.add_worksheet ('Data') # Данные
worksheet4 = workbook.add_worksheet () # Sheet4
 

Имя рабочего листа должно быть действительным именем листа Excel:

  • Должно быть меньше 32 символов.Эта ошибка вызовет InvalidWorksheetName исключение.
  • Он не может содержать никаких символов: []: *? / \ . Эта ошибка будет вызвать исключение InvalidWorksheetName .
  • Оно не может начинаться или заканчиваться апострофом. Эта ошибка вызовет InvalidWorksheetName исключение.
  • Вы не можете использовать одно и то же имя без учета регистра более чем для одного рабочий лист. Эта ошибка вызовет исключение DuplicateWorksheetName .
  • Вы не должны использовать зарезервированное имя Excel «История» или без учета регистра. варианты, поскольку это ограничено в английской и других версиях Excel.

Правила для имен рабочих листов в Excel объясняются в Microsoft Office документация о том, как переименовать рабочий лист.

workbook.add_format ()

add_format ([ свойства ])

Создайте новый объект «Формат» для форматирования ячеек на листах.

Параметры: свойства ( словарь ) – необязательный словарь свойств формата.
Тип возвращаемого значения: Объект формата.

Метод add_format () можно использовать для создания нового формата объекты, которые используются для применения форматирования к ячейке. Вы можете определить свойства во время создания через словарь значений свойств или позже через вызовы методов:

 format1 = workbook.add_format (props) # Установить свойства при создании.
format2 = workbook.add_format () # Настроить свойства позже.

См. Раздел «Класс формата» для получения дополнительных сведений о свойствах формата и о том, как установить их.

workbook.add_chart ()

add_chart ( опций )

Создайте объект диаграммы, который можно добавить на рабочий лист.

Параметры: options ( словарь ) – Словарь вариантов типа диаграммы.
Тип возврата: A Объект диаграммы.

Этот метод используется для создания нового объекта диаграммы, который можно вставить в рабочий лист с помощью метода insert_chart () Метод рабочего листа:

 диаграмма = workbook.add_chart ({'тип': 'столбец'})
 

Можно установить следующие свойства:

Тип
 (обязательно)
подтип (необязательно)
 

См. «Класс диаграммы» для получения списка доступных подтипов диаграмм.

Примечание

Диаграмму можно вставить в рабочий лист только один раз.Если несколько похожих диаграммы необходимы, тогда каждая из них должна быть создана отдельно с add_chart () .

См. Также Работа с диаграммами и примерами диаграмм.

workbook.add_chartsheet ()

add_chartsheet ([ имя листа ])

Добавьте новый add_chartsheet в книгу.

Параметры: имя листа ( строка ) – необязательное имя диаграммы, по умолчанию Chart1 и т. Д.
Тип возврата: Объект диаграммы.

Метод add_chartsheet () добавляет новую таблицу диаграмм в книгу.

Подробнее см. Класс Chartsheet.

Параметр имя листа является необязательным. Если он не указан по умолчанию Будут соблюдаться соглашения Excel, то есть Chart1, Chart2 и т. Д.

Имя диаграммы должно быть действительным именем листа Excel. Видеть add_worksheet () для ограничения имен рабочих листов Excel.

workbook.close ()

закрыть ()

Закройте объект Workbook и запишите файл XLSX.

Метод close () рабочей книги записывает все данные в файл xlsx и закрывает это:

Это обязательный вызов метода для закрытия и записи файла xlsxwriter, если только вы используете с менеджером контекста , см. ниже.

Объект Workbook также работает с с диспетчером контекста .В в этом случае не требуется явный оператор close () :

 С xlsxwriter.Workbook ('hello_world.xlsx') в качестве книги:
    рабочий лист = workbook.add_worksheet ()

    worksheet.write ('A1', 'Привет, мир')
 

Книга закроется автоматически при выходе из области с утверждение.

Наиболее частое исключение во время close () – это FileCreateError , обычно вызвано ошибкой разрешения записи.В Windows это обычно происходит если создаваемый файл уже открыт в Excel. Это исключение может быть попал в блок try , где вы можете указать пользователю закрыть открытый файл перед его перезаписью:

, пока True:
    пытаться:
        workbook.close ()
    кроме xlsxwriter.exceptions.FileCreateError как e:
        # Для Python 3 используйте input () вместо raw_input ().
        solution = raw_input ("Исключение в workbook.close ():% s \ n"
                             "Закройте файл, если он открыт в Excel.\ n "
                             «Попытаться снова записать файл? [Д / Н]:»% e)
        если решение! = 'n':
            Продолжать

    перерыв
 

Метод close () может записать файл только один раз. Он не ведет себя как save, и его нельзя вызывать несколько раз для записи файла в разные этапы. Если его коллируют более одного раза, поднимется UserWarning , чтобы избежать проблем, связанных с закрытием файла в петля или на неправильном уровне области видимости.

См. Также Пример: перехват исключения при закрытии.

workbook.set_size ()

set_size ( ширина , высота )

Установите размер окна книги.

Параметры:
  • width ( int ) – Ширина окна в пикселях.
  • height ( int ) – Высота окна в пикселях.

Метод set_size () может использоваться для установки размера окна книги:

 рабочая тетрадь.set_size (1200, 800)
 

Размер окна Excel использовался в Excel 2007 для определения ширины и высоты окно книги в многодокументном интерфейсе (MDI). Позже В версиях Excel для Windows этот интерфейс был удален. Этот метод в настоящее время полезно только при установке размера окна в Excel для Mac 2011. единицы – пиксели, а размер по умолчанию – 1073 x 644.

Обратите внимание, что это не соответствует размеру пикселя Excel для Mac, поскольку он на основе исходных размеров Excel 2007 для Windows.Некоторые методы проб и ошибок могут потребуются, чтобы получить точный размер.

workbook.tab_ratio ()

set_tab_ratio ( tab_ratio )

Установите соотношение между вкладками рабочего листа и горизонтальным ползунком.

Параметры: tab_ratio ( float ) – соотношение табуляции от 0 до 100.

Метод set_tab_ratio () может использоваться для установки соотношения между рабочими листами вкладки и горизонтальный ползунок внизу книги.Это может быть увеличен, чтобы освободить место для вкладок, или уменьшен, чтобы увеличить размер горизонтальный слайдер:

Значение по умолчанию в Excel – 60. Его можно изменить следующим образом:

 workbook.set_tab_ratio (75)
 

workbook.set_properties ()

set_properties ( объектов )

Задайте свойства документа, такие как Заголовок, Автор и т. Д.

Параметры: properties ( dict ) – Словарь свойств документа.

Метод set_properties () может использоваться для установки свойств документа Файл Excel, созданный XlsxWriter . Эти свойства видны, когда вы используйте кнопку Office -> Подготовить -> Свойства в Excel и также доступны для внешних приложений, которые читают или индексируют файлы Windows.

Можно установить следующие свойства:

  • титул
  • субъект
  • автор
  • менеджер
  • компания
  • категория
  • ключевых слов
  • комментарии
  • статус
  • hyperlink_base
  • create – дата создания файла в формате datetime .дата объект.

Свойства являются необязательными и должны передаваться в формате словаря как следует:

 workbook.set_properties ({
    'title': 'Это пример электронной таблицы',
    'subject': 'Со свойствами документа',
    'author': 'Джон Макнамара',
    'manager': 'Доктор. Хайнц Дофеншмирц ',
    'компания': 'Волков',
    'category': 'Примеры таблиц',
    'ключевые слова': 'Образец, Пример, Свойства',
    'created': datetime.date (2018, 1, 1),
    'comments': 'Создано с помощью Python и XlsxWriter'})
 

См. Также Пример: Настройка свойств документа.

workbook.set_custom_property ()

set_custom_property ( имя , значение [, property_type ])

Задайте настраиваемое свойство документа.

Параметры:
  • имя ( строка ) – Имя настраиваемого свойства.
  • значение – значение настраиваемого свойства (различные типы).
  • property_type ( строка ) – Тип свойства.По желанию.

Метод set_custom_property () может использоваться для установки одного или нескольких настраиваемых свойства документа, не охваченные стандартными свойствами в set_properties () метод выше.

Например:

 date = datetime.strptime ('2016-12-12', '% Y-% m-% d')

workbook.set_custom_property ('Проверено', 'Ева')
workbook.set_custom_property ('Дата завершения', дата)
workbook.set_custom_property ('Номер документа', 12345)
рабочая тетрадь.set_custom_property ('Справочный номер', 1.2345)
workbook.set_custom_property ('Имеется обзор', True)
workbook.set_custom_property ('Подписано', ложь)
 

Параметры даты должны быть объектами datetime.datetime .

Необязательный параметр property_type может использоваться для установки явного типа для настраиваемого свойства, как в Excel. Доступные типы:

Однако почти во всех случаях тип будет правильно выведен из Тип Python, как в примере выше.

Примечание: параметры name и value ограничены 255 символами Excel.

workbook.define_name ()

имя_определения ()

Создайте в книге определенное имя для использования в качестве переменной.

Параметры:
  • имя ( строка ) – определенное имя.
  • формула ( строка ) – ячейка или диапазон, на который ссылается определенное имя.

Этот метод используется для определения имени, которое может использоваться для представления значения, одна ячейка или диапазон ячеек в книге. Иногда их называют как «именованный диапазон».

Определенные имена обычно используются для упрощения или уточнения формул с помощью описательные имена переменных:

 workbook.define_name ('Exchange_rate', '= 0.96')
worksheet.write ('B3', '= B2 * Exchange_rate')
 

Как и в Excel, имя, определенное таким образом, является «глобальным» для книги и может быть ссылается на любой рабочий лист:

 # Глобальное имя книги.workbook.define_name ('Продажи', '= Sheet1! $ G $ 1: $ H $ 10')
 

Также возможно определить локальное имя / имя рабочего листа, добавив к нему префикс имя листа с использованием синтаксиса 'имя листа! определенное имя' :

 # Имя локального рабочего листа.
workbook.define_name ('Лист2! Продажи', '= Лист2! $ G $ 1: $ G $ 10')
 

Если имя листа содержит пробелы или специальные символы, вы должны следовать Соглашение Excel и заключите его в одинарные кавычки:

 workbook.define_name ("'Новые данные'! Продажи", '= Sheet2! $ G $ 1: $ G $ 10')
 

Правила для имен в Excel объясняются в Microsoft Office. документация о том, как определять и использовать имена в формулах.

См. Также Пример: Определенные имена / Именованные диапазоны.

workbook.add_vba_project ()

add_vba_project ( vba_project [, is_stream ])

Добавьте двоичный файл vbaProject в книгу Excel.

Параметры:
  • vba_project – Имя двоичного файла vbaProject.
  • is_stream ( bool ) – vba_project – это поток байтов в памяти.

Метод add_vba_project () может использоваться для добавления макросов или функций в книгу с использованием двоичного файла проекта VBA, извлеченного из существующий файл Excel xlsm:

 workbook.add_vba_project ('./ vbaProject.bin')
 

В книгу можно добавить только один файл vbaProject.bin .

Параметр is_stream используется, чтобы указать, что vba_project относится к поток байтов BytesIO, а не физический файл.Это можно использовать, когда работа с рабочей книгой in_memory режим.

Дополнительные сведения см. В разделе «Работа с макросами VBA».

workbook.set_vba_name ()

set_vba_name ( имя )

Задайте имя VBA для книги.

Параметры: имя ( строка ) – имя VBA для книги.

Метод set_vba_name () может использоваться для установки кодового имени VBA для рабочая тетрадь.Иногда это требуется, когда макрос vbaProject включен через add_vba_project () относится к книге. Имя Excel VBA по умолчанию для ThisWorkbook используется, если пользовательское имя не указано.

Дополнительные сведения см. В разделе «Работа с макросами VBA».

workbook.worksheets ()

рабочих листов ()

Вернуть список объектов рабочего листа в книге.

Метод worksheets () возвращает список рабочих листов в книге.Это полезно, если вы хотите повторить операцию на каждом листе в рабочая тетрадь:

 для листа в workbook.worksheets ():
    worksheet.write ('A1', 'Привет')
 

workbook.get_worksheet_by_name ()

get_worksheet_by_name ( имя )

Вернуть объект листа в книгу, используя имя листа.

Параметры: имя ( строка ) – Имя рабочего листа, который вы хотите получить.
Тип возврата: Объект листа.

Метод get_worksheet_by_name () возвращает рабочий лист или таблицу объект с заданным именем или Нет , если не найден:

 рабочий лист = workbook.get_worksheet_by_name ('Sheet1')
 

workbook.get_default_url_format ()

get_default_url_format ()

Вернуть объект форматирования.

Метод get_default_url_format () получает копию формата URL по умолчанию используется, когда пользовательский формат не указан с write_url () . В формат – это стиль гиперссылки, определенный Excel для темы по умолчанию:

 url_format = workbook.get_default_url_format ()
 

workbook.set_calc_mode ()

set_calc_mode (режим )

Установите режим вычислений Excel для книги.

Параметры: mode ( string ) – Строка режима расчета

Установите режим вычисления для формул в книге. Это в основном используется для книг с медленными формулами, где вы хотите, чтобы пользователь мог вычислить их вручную.

Режим Параметр может быть:

  • авто : значение по умолчанию. Excel будет пересчитывать формулы, когда формула или значение, влияющее на изменение формулы.
  • руководство : пересчитывать формулы только тогда, когда это требуется пользователю. В целом нажав F9.
  • auto_except_tables : Excel автоматически пересчитает формулы кроме таблиц.

workbook.use_zip64 ()

use_zip64 ()

Разрешить расширения ZIP64 при записи zip-контейнера файла xlsx.

Используйте расширения ZIP64 при записи zip-контейнера файла xlsx, чтобы разрешить файлы больше 4 ГБ.

Примечание

При использовании параметра use_zip64 () zip-файл, созданный Python стандартная библиотека zipfile.py может привести к тому, что Excel выдаст предупреждение о восстановление файла. Это предупреждение раздражает, но безвредно. «Отремонтированный» файл будет содержать все данные, записанные XlsxWriter, только zip контейнер будет изменен.

workbook.read_only_recommended ()

read_only_recommended ()

Добавьте рекомендацию открыть файл в режиме «только для чтения».

Этот метод можно использовать для установки параметра Excel «Рекомендуется только для чтения», который доступен при сохранении файла. Это представляет пользователю файла возможность открыть его в режиме «только чтение». Это означает, что любые изменения в файле не могут быть сохранены обратно в тот же файл и должны быть сохранены в новом файле. Может установить следующим образом:

 импорт xlsxwriter

workbook = xlsxwriter.Workbook ('file.xlsx')
рабочий лист = workbook.add_worksheet ()

workbook.read_only_recommended ()

рабочая тетрадь.Закрыть()
 

При открытии файла появится диалоговое окно, подобное следующему:

Использование объекта книги в Excel VBA (открытие, закрытие, сохранение, установка)

В этом руководстве я расскажу, как работать с книгами в Excel с помощью VBA.

В Excel «Рабочая книга» – это объект, который является частью коллекции «Рабочие книги». Внутри книги у вас есть различные объекты, такие как рабочие листы, листы диаграмм, ячейки и диапазоны, объекты диаграмм, фигуры и т. Д.

С VBA вы можете многое делать с объектом книги, например открывать определенную книгу, сохранять и закрывать книги, создавать новые книги, изменять свойства книги и т. д.

Итак, приступим.

Если вы заинтересованы в изучении VBA простым способом, ознакомьтесь с моим курсом Online Excel VBA Training .

Ссылка на книгу с помощью VBA

Существуют различные способы ссылки на объект книги в VBA. Выбранный вами метод будет зависеть от того, что вы хотите сделать. В этом разделе я расскажу о различных способах обращения к книге вместе с некоторыми примерами кодов.

Использование имен книг

Если у вас есть точное имя книги, к которой вы хотите обратиться, вы можете использовать это имя в коде.

Начнем с простого примера.

Если у вас открыты две книги и вы хотите активировать книгу с именем – Examples.xlsx, вы можете использовать следующий код:

 Sub ActivateWorkbook ()
Книги ("Examples.xlsx"). Активировать
End Sub 

Обратите внимание, что вам необходимо использовать имя файла вместе с расширением, если файл был сохранен. Если оно не было сохранено, вы можете использовать имя без расширения файла.

Если вы не знаете, какое имя использовать, обратитесь за помощью к Project Explorer.

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

 Sub ActivateWorkbook ()
Рабочие книги ("Examples.xlsx"). Рабочие листы ("Sheet1"). Активировать
Диапазон ("A1"). Выберите
End Sub 

Приведенный выше код сначала активирует Sheet1 в книге Examples.xlsx, а затем выбирает ячейку A1 на листе.

Вы часто будете видеть код, в котором ссылка на рабочий лист или ячейку / диапазон делается без ссылки на книгу.Это происходит, когда вы ссылаетесь на лист / диапазоны в той же книге, в которой есть код и которая также является активной книгой. Однако в некоторых случаях вам необходимо указать книгу, чтобы убедиться, что код работает (подробнее об этом в разделе ThisWorkbook).

Использование порядковых номеров

Вы также можете ссылаться на книги по их порядковому номеру.

Например, если у вас открыто три книги, следующий код покажет вам имена трех книг в окне сообщения (по одному).

 Sub WorkbookName ()
Книги MsgBox (1) .Name
Книги MsgBox (2) .Name
Книги MsgBox (3) .Name
End Sub 

В приведенном выше коде используется MsgBox – функция, отображающая окно сообщения с указанным текстом / значением (которое в данном случае является именем книги).

Одна из проблем, с которыми я часто сталкиваюсь при использовании порядковых номеров с рабочими книгами, заключается в том, что вы никогда не знаете, какая из них первая книга, а какая вторая и так далее. Конечно, вам нужно будет запустить код, как показано выше, или что-то подобное, чтобы просмотреть открытые книги и узнать их порядковый номер.

Excel обрабатывает книгу, открытую первой, так, чтобы она имела порядковый номер 1, а следующая – 2 и т. Д.

Несмотря на этот недостаток, использование индексных номеров может оказаться полезным. Например, если вы хотите перебрать все открытые книги и сохранить все, вы можете использовать номера индексов. В этом случае, поскольку вы хотите, чтобы это произошло со всеми книгами, вас не беспокоят их индивидуальные порядковые номера.

Приведенный ниже код будет проходить через все открытые книги и закрывать все, кроме книги с этим кодом VBA.

 Sub CloseWorkbooks ()
Dim WbCount как целое число
WbCount = Workbooks.Count
Для i = WbCount To 1 Step -1
Если Workbooks (i) .Name <> ThisWorkbook.Name, то
Рабочие тетради (i) .Закрыть
Конец, если
Далее я
End Sub 

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

Он использует условие IF, чтобы проверить, совпадает ли имя книги с именем книги, в которой выполняется код.

Если совпадений нет, книга закрывается и выполняется переход к следующей.

Обратите внимание, что мы запустили цикл от WbCount до 1 с шагом -1. Это делается по мере того, как с каждым циклом количество открытых книг уменьшается.

ThisWorkbook подробно рассматривается в следующем разделе.

Использование ActiveWorkbook

ActiveWorkbook, как следует из названия, относится к активной книге.

Приведенный ниже код покажет вам имя активной книги.

 Sub ActiveWorkbookName ()
MsgBox ActiveWorkbook.Name
End Sub 

Когда вы используете VBA для активации другой книги, часть ActiveWorkbook в VBA после этого начнет ссылаться на активированную книгу.

Вот пример этого.

Если у вас есть активная книга, и вы вставляете в нее следующий код и запускаете его, сначала будет показано имя книги с кодом, а затем имя Examples.xlsx (которое активируется кодом).

 Sub ActiveWorkbookName ()
MsgBox ActiveWorkbook.Name
Книги ("Examples.xlsx"). Активировать
MsgBox ActiveWorkbook.Name
End Sub 

Обратите внимание, что при создании новой книги с использованием VBA эта вновь созданная книга автоматически становится активной.

Использование ThisWorkbook

ThisWorkbook относится к книге, в которой выполняется код.

Каждая рабочая книга будет иметь объект ThisWorkbook как часть (видимый в Project Explorer).

«ThisWorkbook» может хранить обычные макросы (аналогичные тем, которые мы добавляем в модули), а также процедуры обработки событий. Процедура события – это то, что запускается на основе события, например двойного щелчка по ячейке, сохранения книги или активации листа.

Любая процедура события, которую вы сохраняете в этой «ThisWorkbook», будет доступна во всей книге по сравнению с событиями уровня листа, которые ограничены только определенными листами.

Например, если вы дважды щелкните объект ThisWorkbook в Project Explorer и скопируйте и вставьте в него приведенный ниже код, он будет отображать адрес ячейки всякий раз, когда вы дважды щелкаете любую из ячеек во всей книге.

 Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh как объект, ByVal Target как диапазон, Cancel as Boolean)
MsgBox Target.Address
End Sub 

Хотя основная роль ThisWorkbook заключается в хранении процедуры события, вы также можете использовать ее для ссылки на книгу, в которой выполняется код.

Приведенный ниже код вернет имя книги, в которой выполняется код.

 Sub ThisWorkbookName ()
MsgBox ThisWorkbook.Name
End Sub 

Преимущество использования ThisWorkbook (над ActiveWorkbook) состоит в том, что во всех случаях он будет ссылаться на одну и ту же книгу (ту, в которой есть код).Поэтому, если вы используете код VBA для добавления новой книги, ActiveWorkbook изменится, но ThisWorkbook по-прежнему будет относиться к той, которая имеет код.

Создание нового объекта книги

Следующий код создаст новую книгу.

 Sub CreateNewWorkbook ()
Рабочие тетради. Добавить
End Sub 

Когда вы добавляете новую книгу, она становится активной.

Следующий код добавит новую книгу, а затем покажет вам имя этой книги (которое будет именем типа Book1 по умолчанию).

 Sub CreateNewWorkbook ()
Рабочие тетради. Добавить
MsgBox ActiveWorkbook.Name
End Sub 

Открытие книги с помощью VBA

Вы можете использовать VBA для открытия определенной книги, если знаете путь к файлу книги.

Приведенный ниже код откроет книгу – Examples.xlsx, которая находится в папке Documents в моей системе.

 Подложка OpenWorkbook ()
Workbooks.Open ("C: \ Users \ sumit \ Documents \ Examples.xlsx")
End Sub 

Если файл существует в папке по умолчанию, то есть в папке, в которой VBA сохраняет новые файлы по умолчанию, вы можете просто указать имя книги – без полного пути.

 Подложка OpenWorkbook ()
Workbooks.Open ("Examples.xlsx")
Конец Sub 

Если книга, которую вы пытаетесь открыть, не существует, вы увидите сообщение об ошибке.

Чтобы избежать этой ошибки, вы можете добавить несколько строк в свой код, чтобы сначала проверить, существует ли файл или нет, и, если он существует, попробуйте его открыть.

Приведенный ниже код проверит местоположение файла и, если он не существует, отобразит настраиваемое сообщение (не сообщение об ошибке):

 Sub OpenWorkbook ()
Если Dir ("C: \ Users \ sumit \ Documents \ Examples.xlsx ") <>" "Тогда
Workbooks.Open ("C: \ Users \ sumit \ Documents \ Examples.xlsx")
Еще
MsgBox «Файл не существует»
Конец, если
End Sub 

Вы также можете использовать диалоговое окно Open, чтобы выбрать файл, который вы хотите открыть.

 Подложка OpenWorkbook ()
При ошибке Возобновить Далее
Dim FilePath как строка
FilePath = Application.GetOpenFilename
Workbooks.Open (FilePath)
End Sub 

Приведенный выше код открывает диалоговое окно Открыть. Когда вы выбираете файл, который хотите открыть, он назначает путь к файлу переменной FilePath.Workbooks.Open затем использует путь к файлу, чтобы открыть файл.

Если пользователь не открывает файл и нажимает кнопку «Отмена», FilePath принимает значение False. Чтобы избежать появления ошибки в этом случае, мы использовали оператор «On Error Resume Next».

Сохранение книги

Чтобы сохранить активную книгу, используйте следующий код:

 Sub SaveWorkbook ()
ActiveWorkbook.Save
End Sub 

Этот код работает с книгами, которые уже были сохранены ранее.Кроме того, поскольку книга содержит указанный выше макрос, если он не был сохранен как файл .xlsm (или .xls), вы потеряете макрос, когда откроете его в следующий раз.

Если вы сохраняете книгу в первый раз, она покажет вам подсказку, как показано ниже:

При первом сохранении лучше использовать опцию «Сохранить как».

Приведенный ниже код сохранит активную книгу как файл .xlsm в расположении по умолчанию (которое является папкой документов в моей системе).

 Sub SaveWorkbook ()
ActiveWorkbook.SaveAs Имя файла: = "Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled
End Sub 

Если вы хотите, чтобы файл был сохранен в определенном месте, вам необходимо указать это в значении Filename. Приведенный ниже код сохраняет файл на моем рабочем столе.

 Sub SaveWorkbook ()
ActiveWorkbook.SaveAs Имя файла: = "C: \ Users \ sumit \ Desktop \ Test.xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled
End Sub 

Если вы хотите, чтобы пользователь мог выбрать место для сохранения файла, вы можете вызвать диалоговое окно Saveas.Приведенный ниже код показывает диалоговое окно «Сохранить как» и позволяет пользователю выбрать место для сохранения файла.

 Sub SaveWorkbook ()
Dim FilePath как строка
FilePath = Application.GetSaveAsFilename
ActiveWorkbook.SaveAs Имя файла: = FilePath & ".xlsm", FileFormat: = xlOpenXMLWorkbookMacroEnabled
End Sub 

Обратите внимание, что вместо использования FileFormat: = xlOpenXMLWorkbookMacroEnabled можно также использовать FileFormat: = 52, где 52 – это код xlOpenXMLWorkbookMacroEnabled.

Сохранение всех открытых рабочих книг

Если у вас открыто несколько рабочих книг и вы хотите сохранить все книги, вы можете использовать следующий код:

 Sub SaveAllWorkbooks ()
Dim wb As Workbook
Для каждого ББ в книгах
wb.Save
Следующий wb
End Sub 

Приведенное выше сохраняет все книги, включая те, которые никогда не сохранялись. Книги, которые не были сохранены ранее, будут сохранены в расположении по умолчанию.

Если вы хотите сохранить только те книги, которые были ранее сохранены, вы можете использовать следующий код:

 Sub SaveAllWorkbooks ()
Dim wb As Workbook
Для каждого ББ в книгах
Если wb.Путь <> "" Тогда
wb.Save
Конец, если
Следующий wb
End Sub 

Сохранение и закрытие всех рабочих книг

Если вы хотите закрыть все книги, кроме книги с текущим кодом, вы можете использовать следующий код:

 Sub CloseandSaveWorkbooks ()
Dim wb As Workbook
Для каждого ББ в книгах
Если wb.Name <> ThisWorkbook.Name Тогда
wb.Close SaveChanges: = True
Конец, если
Следующий wb
End Sub 

Приведенный выше код закроет все книги (кроме книги с кодом – ThisWorkbook).Если в этих книгах есть изменения, они будут сохранены. Если есть книга, которая никогда не сохранялась, отобразится диалоговое окно «Сохранить как».

Сохранить копию книги (с отметкой времени)

Когда я работаю со сложными данными и панелью мониторинга в книгах Excel, я часто создаю разные версии своих книг. Это полезно на случай, если с моей текущей книгой что-то пойдет не так. По крайней мере, у меня была бы его копия, сохраненная под другим именем (и я потеряю только ту работу, которую проделал после создания копии).

Вот код VBA, который создаст копию вашей книги и сохранит ее в указанном месте.

 Sub CreateaCopyofWorkbook ()
ThisWorkbook.SaveCopyAs Имя файла: = "C: \ Users \ sumit \ Desktop \ BackupCopy.xlsm"
End Sub 

Приведенный выше код будет сохранять копию вашей книги каждый раз, когда вы запускаете этот макрос.

Хотя это отлично работает, мне было бы удобнее, если бы я сохранял разные копии при каждом запуске этого кода. Причина, по которой это важно, заключается в том, что если я сделаю непреднамеренную ошибку и запущу этот макрос, он сохранит работу с ошибками.И у меня не будет доступа к работе, пока я не совершу ошибку.

Чтобы справиться с такими ситуациями, вы можете использовать приведенный ниже код, который сохраняет новую копию работы каждый раз, когда вы ее сохраняете. И он также добавляет дату и метку времени как часть имени книги. Это может помочь вам отследить любую допущенную вами ошибку, поскольку вы никогда не потеряете ни одну из ранее созданных резервных копий.

 Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Отменить как Boolean)
ThisWorkbook.SaveCopyAs Имя файла: = «C: \ Users \ sumit \ Desktop \ BackupCopy» & Format (Now (), «дд-мм-гг-чч-мм-сс-AMPM») & ».xlsm "
End Sub 

Приведенный выше код будет создавать копию при каждом запуске этого макроса и добавлять метку даты / времени к имени книги.

Создание новой книги для каждого листа

В некоторых случаях у вас может быть книга с несколькими листами, и вы хотите создать книгу для каждого листа.

Это может быть в том случае, если у вас есть ежемесячные / квартальные отчеты в одной книге, и вы хотите разделить их в одну книгу для каждого рабочего листа.

Или, если у вас есть отчеты по отделам, и вы хотите разделить их на отдельные книги, чтобы вы могли отправлять эти отдельные книги руководителям отделов.

Вот код, который создаст книгу для каждого рабочего листа, присвоит ему то же имя, что и рабочий лист, и сохранит его в указанной папке.

 Sub CreateWorkbookforWorksheets ()
Dim ws как рабочий лист
Dim wb As Workbook
Для каждого ws в ThisWorkbook.Worksheets
Установите wb = Workbooks.Добавлять
ws.Copy До: = wb.Sheets (1)
Application.DisplayAlerts = False
wb.Sheets (2) .Удалить
Application.DisplayAlerts = True
wb.Save как "C: \ Users \ sumit \ Desktop \ Test \" & ws.Name & ".xlsx"
wb.Close
Следующий ws
End Sub 

В приведенном выше коде мы использовали две переменные «ws» и «wb».

Код просматривает каждый рабочий лист (используя цикл For Each Next) и создает для него книгу. Он также использует метод копирования объекта рабочего листа для создания копии рабочего листа в новой книге.

Обратите внимание, что я использовал оператор SET для присвоения переменной «wb» любой новой книге, созданной с помощью кода.

Этот метод можно использовать для присвоения объекта книги переменной. Это рассматривается в следующем разделе.

Назначить объект книги переменной

В VBA вы можете назначить объект переменной, а затем использовать переменную для ссылки на этот объект.

Например, в приведенном ниже коде я использую VBA для добавления новой книги, а затем назначаю эту книгу переменной wb.Для этого мне нужно использовать инструкцию SET.

После того, как я назначил книгу переменной, все свойства книги также становятся доступными для переменной.

 Sub AssigntoVariable ()
Dim wb As Workbook
Установите wb = Workbooks.Add.
wb.SaveAs Имя файла: = "C: \ Users \ sumit \ Desktop \ Examples.xlsx"
End Sub 

Обратите внимание, что первым шагом в коде является объявление «wb» как переменной типа книги. Это сообщает VBA, что эта переменная может содержать объект книги.

Следующий оператор использует SET для присвоения переменной новой книге, которую мы добавляем. Как только это назначение будет выполнено, мы можем использовать переменную wb для сохранения книги (или сделать с ней что-нибудь еще).

Цикл через открытые книги

Мы уже видели несколько примеров кода выше, в которых использовался цикл в коде.

В этом разделе я объясню различные способы циклического перебора открытых книг с помощью VBA.

Предположим, вы хотите сохранить и закрыть все открытые книги, кроме той, в которой есть код, тогда вы можете использовать следующий код:

 Sub CloseandSaveWorkbooks ()
Dim wb As Workbook
Для каждого ББ в книгах
Если wb.Имя <> ThisWorkbook.Name Then
wb.Close SaveChanges: = True
Конец, если
Следующий wb
End Sub 

В приведенном выше коде используется цикл For Each для просмотра каждой книги в коллекции Workbooks. Для этого нам сначала нужно объявить «wb» в качестве переменной типа книги.

В каждом цикле цикла каждое имя книги анализируется, и если оно не соответствует имени книги с кодом, она закрывается после сохранения ее содержимого.

То же самое может быть достигнуто с помощью другого цикла, как показано ниже:

 Sub CloseWorkbooks ()
Dim WbCount как целое число
WbCount = Книги.Считать
Для i = WbCount To 1 Step -1
Если Workbooks (i) .Name <> ThisWorkbook.Name, то
Рабочие книги (i) .Close SaveChanges: = True
Конец, если
Далее я
End Sub 

В приведенном выше коде цикл For Next используется для закрытия всех книг, кроме той, в которой есть код. В этом случае нам не нужно объявлять переменную книги, но вместо этого нам нужно подсчитать общее количество открытых книг. Когда у нас есть счетчик, мы используем цикл For Next для просмотра каждой книги. Кроме того, в этом случае мы используем порядковый номер для ссылки на книги.

Обратите внимание, что в приведенном выше коде мы переходим от WbCount к 1 с шагом -1. Это необходимо, так как при каждом цикле книга закрывается, а количество книг уменьшается на 1.

Ошибка при работе с объектом книги (ошибка времени выполнения ‘9’)

Одна из наиболее распространенных ошибок, которые вы можете при работе с книгами возникает ошибка времени выполнения «9» – индекс вне допустимого диапазона.

Как правило, ошибки VBA не очень информативны и часто оставляют вам задачу выяснить, что пошло не так.

Вот некоторые из возможных причин, которые могут привести к этой ошибке:

  • Книга, к которой вы пытаетесь получить доступ, не существует. Например, если я пытаюсь получить доступ к пятой книге с помощью Рабочих книг (5), а открыты только 4 книги, я получу эту ошибку.
  • Если вы используете неправильное имя для ссылки на книгу. Например, если имя вашей книги – Examples.xlsx, и вы используете Example.xlsx. тогда он покажет вам эту ошибку.
  • Если вы не сохранили книгу и используете расширение, вы получите эту ошибку.Например, если имя вашей книги – Book1, и вы используете имя Book1.xlsx, не сохраняя его, вы получите эту ошибку.
  • Книга, к которой вы пытаетесь получить доступ, закрыта.

Получить список всех открытых книг

Если вы хотите получить список всех открытых книг в текущей книге (книге, в которой вы запускаете код), вы можете использовать следующий код:

 Sub GetWorkbookNames ()
Dim wbcount как целое число
wbcount = Workbooks.Count
ThisWorkbook.Рабочие листы.Добавить
ActiveSheet.Range ("A1"). Активировать
Для i = 1 на wbcount
Диапазон ("A1"). Смещение (i - 1, 0). Значение = Рабочие книги (i). Имя
Далее я
End Sub 

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

Если вы также хотите получить путь к их файлу, вы можете использовать следующий код:

 Sub GetWorkbookNames ()
Dim wbcount как целое число
wbcount = Workbooks.Count
ThisWorkbook.Worksheets.Add
ActiveSheet.Range ("A1").Активировать
Для i = 1 на wbcount
Диапазон ("A1"). Смещение (i - 1, 0). Value = Workbooks (i) .Path & "\" & Workbooks (i) .Name
Далее я
End Sub 

Откройте указанную книгу, дважды щелкнув ячейку

Если у вас есть список путей к файлам для книг Excel, вы можете использовать приведенный ниже код, чтобы просто дважды щелкнуть ячейку с путем к файлу, и он будет откройте эту книгу.

 Private Sub Workbook_SheetBeforeDoubleClick (ByVal Sh как объект, ByVal Target как диапазон, Cancel as Boolean)
Рабочие тетради.Открыть Target.Value
End Sub 

Этот код будет помещен в окно кода ThisWorkbook.

Для этого:

  • Дважды щелкните объект ThisWorkbook в проводнике проекта. Обратите внимание, что объект ThisWorkbook должен находиться в книге, где вам нужна эта функция.
  • Скопируйте и вставьте приведенный выше код.

Теперь, если у вас есть точный путь к файлам, которые вы хотите открыть, вы можете сделать это, просто дважды щелкнув путь к файлу, и VBA мгновенно откроет эту книгу.

Где разместить код VBA

Хотите знать, где находится код VBA в вашей книге Excel?

Excel имеет серверную часть VBA, называемую редактором VBA. Вам необходимо скопировать и вставить код в окно кода модуля VB Editor.

Вот шаги, чтобы сделать это:

  1. Перейдите на вкладку Разработчик.
  2. Щелкните параметр Visual Basic. Это откроет редактор VB в бэкэнде.
  3. В панели Project Explorer в редакторе VB щелкните правой кнопкой мыши любой объект книги, в которую вы хотите вставить код.Если вы не видите Project Explorer, перейдите на вкладку View и нажмите Project Explorer.
  4. Перейдите во вкладку “Вставить” и щелкните “Модуль”. Это вставит объект модуля для вашей книги.
  5. Скопируйте и вставьте код в окно модуля.

Вам также могут понравиться следующие руководства по Excel VBA:

Полное руководство по книге VBA

«Мы тонем в информации, но жаждем знаний». – Джон Нейсбитт

Этот пост представляет собой полное руководство по использованию книги VBA.

Если вы хотите использовать VBA для Откройте рабочую книгу , ознакомьтесь с Open Workbook

Если вы хотите использовать VBA для , создайте новую книгу , перейдите в Create New Workbook

Для всех других задач книги VBA, ознакомьтесь с кратким руководством ниже .

Краткое руководство к книге VBA

В следующей таблице содержится краткое руководство по основным задачам книги VBA.

Задача Как выполнить
Доступ к открытой книге с именем Workbooks («Пример.xlsx “)
Открытая книга доступа (первая открытая) Рабочие книги (1)
Открыть рабочую книгу (последняя открытая) Рабочие книги (Workbooks.Count)
Доступ к активной книге ActiveWorkbook
Книга доступа, содержащая код VBA ThisWorkbook
Объявить переменную книги Dim wk As Workbook
Назначьте переменную книги Задайте wk = Workbooks (“Пример.xlsx “)
Set wk = ThisWorkbook
Set wk = Workbooks (1)
Активировать книгу нед. Активировать
Закрыть книгу без сохранения нед. Закрыть SaveChanges: = False
Закройте книгу и сохраните нед. Закрыть SaveChanges: = True
Создать новую книгу Установить wk = Workbooks.Add
Открыть книгу Установить wk = Workbooks.Open (“C: \ Docs \ Example.xlsx “)
Открыть книгу только для чтения Установить wk = Workbooks.Open (“C: \ Docs \ Example.xlsx”, ReadOnly: = True)
Книга чеков существует Если Dir (“C: \ Docs \ book1.xlsx”) = “” Тогда
MsgBox “Файл не существует”.
EndIf
Открыта контрольная книга См. Раздел “Открытие контрольной книги” ниже
Список всех открытых книг За каждую неделю в Application.Workbooks
Отладка.Печать wk.FullName
Следующая нед
Открыть книгу с помощью диалогового окна «Файл» См. Раздел «Диалог файла» ниже, функция ниже
Сохранить книгу нед. Сохранить
Сохранить копию книги wk.SaveCopyAs “C: \ Copy.xlsm”
Копировать книгу, если закрыта FileCopy «C: \ file1.xlsx», «C: \ Copy.xlsx»
Книга «Сохранить как» нед. Сохранить как «Backup.xlsx»


Веб-семинар по рабочим книгам VBA

Если вы являетесь участником веб-сайта, щелкните изображение ниже, чтобы перейти к веб-семинару.

( Примечание: Участники веб-сайта имеют доступ к полному архиву вебинаров.)


Начало работы с книгой VBA

Мы можем получить доступ к любой открытой книге , используя код Workbooks ( «Пример .xlsm « ). Просто замените Example.xlsm на имя книги, которую вы хотите использовать.



В следующем примере показано, как писать в ячейку на листе.Вы заметите, что нам пришлось указать книгу, рабочий лист и диапазон ячеек.

https://excelmacromastery.com/
Общедоступная подписка WriteToA1 ()

    'Записывает 100 в ячейку A1 рабочего листа "Sheet1" в MyVBA.xlsm.
Рабочие книги ("MyVBA.xlsm"). Рабочие листы ("Sheet1"). Диапазон ("A1") = 100

Конец подписки
 



Этот пример может немного сбить с толку нового пользователя, но на самом деле он довольно прост.

Первая часть до десятичной точки – это рабочая книга, вторая часть – это рабочий лист, а третья – это диапазон.Вот еще несколько примеров записи в ячейку

https://excelmacromastery.com/
Публичная подписка WriteToMulti ()

'Записывает 100 в ячейку A1 рабочего листа "Sheet1" в MyVBA.xlsm.
Рабочие книги ("MyVBA.xlsm"). Рабочие листы ("Sheet1"). Диапазон ("A1") = 100

'Записывает «Джон» в ячейку B1 рабочего листа «Sheet1» в MyVBA.xlsm.
Рабочие книги ("MyVBA.xlsm"). Рабочие листы ("Sheet1"). Range ("B1") = "John"

'Записывает 100 в ячейку A1 рабочего листа «Учетные записи» в MyVBA.xlsm.
Рабочие тетради ("MyVBA.xlsm "). Таблицы (" Учетные записи "). Диапазон (" A1 ") = 100

'Записывает дату в ячейку D3 рабочего листа Sheet2 в Book.xlsc
Рабочие книги ("Book.xlsx"). Рабочие листы ("Sheet2"). Range ("D3") = "1 \ 1 \ 2016"

Конец подписки
 



Здесь вы можете увидеть простой шаблон. Вы можете писать в любую ячейку на любом листе из любой книги. Просто измените имя книги, имя листа и диапазон в соответствии с вашими потребностями.

Взгляните на часть рабочей тетради

Рабочие тетради («Пример.xlsx ")
 



Ключевое слово Workbooks относится к коллекции всех открытых книг. Добавление имени книги в коллекцию дает нам доступ к этой книге. Когда у нас есть объект, мы можем использовать его для выполнения задач с книгой.


Устранение неполадок с коллекцией книг

При использовании коллекции Workbooks для доступа к книге вы можете получить сообщение об ошибке:

Ошибка выполнения 9: индекс вне допустимого диапазона.

Это означает, что VBA не может найти книгу, которую вы передали в качестве параметра.

Это может произойти по следующим причинам

  1. Книга в настоящее время закрыта.
  2. Вы неправильно написали имя.
  3. Вы создали новую книгу (например, Book1) и попытались получить к ней доступ с помощью Workbooks («Book1.xlsx»). Его имя не будет Book1.xlsx , пока оно не будет сохранено в первый раз.
  4. (только Excel 2007/2010) Если вы используете два экземпляра Excel, то «Рабочие книги» () относятся только к книгам, открытым в текущем экземпляре Excel.
  5. Вы передали число в качестве индекса, и оно больше, чем количество открытых книг, например вы использовали Рабочие книги (3), и открыты только две книги.



Если не удается устранить ошибку, используйте любую из функций в разделе «Поиск всех открытых книг». Они напечатают имена всех открытых книг в непосредственном окне (Ctrl + G).


Примеры использования книги VBA

Следующие примеры показывают, что вы можете делать с книгой.

Примечание: Чтобы попробовать этот пример, создайте две открытые книги с именами Test1.xlsx и Test2.xlsx .

https://excelmacromastery.com/
Public Sub WorkbookProperties ()

    'Печатает количество открытых книг
    Debug.Print Workbooks.Count

    'Печатает полное имя книги
    Debug.Print Workbooks ("Test1.xlsx"). FullName

    'Отображает полное имя книги в диалоговом окне сообщения
    Книги MsgBox ("Test1.xlsx "). FullName

    'Печатает количество листов в Test2.xlsx
    Debug.Print Workbooks ("Test2.xlsx"). Worksheets.Count

    'Печатает имя текущего активного листа Test2.xlsx
    Debug.Print Workbooks ("Test2.xlsx"). ActiveSheet.Name

    'Закрывает книгу Test1.xlsx
    Книги ("Test1.xlsx"). Закрыть

    'Закрывает книгу Test2.xlsx и сохраняет изменения
    Книги ("Test2.xlsx"). Закройте SaveChanges: = True

Конец подписки
 



Примечание: В примерах кода я использую Debug.Распечатайте много. Эта функция печатает значения в окне немедленного доступа. Чтобы просмотреть это окно, выберите в меню View-> Immediate Window (сочетание клавиш Ctrl + G)





Доступ к книге VBA по индексу

Вы также можете использовать номер Index с Workbooks () . Индекс относится к порядку открытия или создания книги.


Рабочие книги (1) относятся к книге, которая была открыта первой.Рабочие книги (2) относятся к книге, которая была открыта второй, и так далее.

'Первая открытая рабочая тетрадь
Отладка. Печать книг (1). Имя

'Третья открытая рабочая тетрадь
Отладка. Печать книг (3). Имя

'Последняя открытая рабочая тетрадь
Отладка.Печать книг (Workbooks.Count) .Name
 



В этом примере мы использовали Workbooks.Count . Это количество книг, которые в настоящее время находятся в коллекции Workbooks.То есть количество рабочих книг, открытых в данный момент. Таким образом, использование его в качестве индекса дает нам последнюю открытую книгу

Использование индекса бесполезно, если вам действительно не нужно знать порядок. По этой причине вам следует избегать его использования. Вместо этого следует использовать имя книги с Workbooks () .


Поиск всех открытых книг

Иногда может потребоваться получить доступ ко всем открытым книгам. Другими словами, все элементы в коллекции Workbooks () .

Это можно сделать с помощью цикла For Each.

https://excelmacromastery.com/
Общедоступная подписка PrintWrkFileName ()

    'Распечатывает полное имя всех открытых книг
    Тусклый труд как рабочая тетрадь
    Для каждой работы в рабочих тетрадях
        Debug.Print wrk.FullName
    Следующая работа

Конец подписки
 



Вы также можете использовать стандартный цикл For для доступа ко всем открытым книгам

https: // excelmacromastery.com /
Общедоступный Sub PrintWrkFileNameIdx ()

    'Распечатывает полное имя всех открытых книг
    Тусклый я как долго
    Для i = 1 To Workbooks.Count
        Отладка.Печать книг (i) .FullName
    Далее я

Конец подписки
 



Для доступа к книгам подойдет любой из этих циклов. Стандартный цикл For полезен, если вы хотите использовать другой порядок или вам нужно использовать счетчик.

Примечание: Оба примера читаются в порядке от первого открытого до последнего открытого.Если вы хотите читать в обратном порядке (от последнего к первому), вы можете сделать это

https://excelmacromastery.com/
Общедоступная подпрограмма PrintWrkFileNameIdxRev ()

    'Распечатывает полное имя всех открытых книг
    'в обратном порядке.
    Тусклый я как долго
    Для i = Workbooks.Count To 1 Step -1
        Отладка.Печать книг (i) .FullName
    Далее я

Конец подписки
 


Открытая книга

До сих пор мы имели дело с уже открытыми рабочими книгами.Конечно, необходимость вручную открывать книгу перед запуском макроса сводит на нет автоматизацию задач. Задача Open Workbook должна выполняться VBA.

Следующий код VBA открывает книгу «Book1.xlsm» в папке «C: \ Docs»

https://excelmacromastery.com/
Публичная подписка OpenWrk ()

    'Откройте книгу и распечатайте количество содержащихся в ней листов.
    Workbooks.Open ("C: \ Docs \ Book1.xlsm")

    Отлаживать.Печатные книги ("Book1.xlsm"). Worksheets.Count

    'Закройте книгу без сохранения
    Книги ("Book1.xlsm"). Закройте saveChanges: = False

Конец подписки
 



Рекомендуется проверить, действительно ли существует книга, прежде чем пытаться ее открыть. Это предотвратит появление ошибок. Функция Dir позволяет легко это сделать.

https://excelmacromastery.com/
Публичная подписка OpenWrkDir ()

    Если Dir ("C: \ Docs \ Book1.xlsm ") =" "Тогда
        'Файл не существует - проинформируйте пользователя
        MsgBox «Не удалось открыть книгу. Убедитесь, что она существует»
    Еще
        'откройте книгу и сделайте с ней что-нибудь
        Workbooks.Open ("C: \ Docs \ Book1.xlsm")
    Конец, если

Конец подписки

 


Проверить открытую книгу

Если вы открываете книгу как только для чтения , не имеет значения, открыта ли она уже. Однако, если вы собираетесь обновлять данные в книге, рекомендуется проверить, открыта ли она уже.

Функцию, указанную ниже, можно использовать, чтобы проверить, открыта ли книга в данный момент. Если нет, то откроется книга. В любом случае у вас будет открытая книга.

(Код ниже взят из этой записи StackOverFlow.)

https://excelmacromastery.com/
Функция GetWorkbook (ByVal sFullFilename как строка) как рабочая книга
    
    Dim sFilename как строка
    sFilename = Dir (sFullFilename)
    
    При ошибке Возобновить Далее
    Dim wk As Workbook
    Установить wk = Workbooks (sFilename)
    
    Если wk - это ничто, тогда
        Установите wk = Workbooks.Открыть (sFullFilename)
    Конец, если
    
    При ошибке Перейти к 0
    Установите GetWorkbook = wk
    
Конечная функция
 


Эту функцию можно использовать так

https://excelmacromastery.com/
Sub ExampleOpenWorkbook ()

    Dim sFilename как строка
    sFilename = "C: \ Docs \ Book2.xlsx"

    Dim wk As Workbook
    Установите wk = GetWorkbook (sFilename)
    
Конец подписки
 


Этот код подходит для большинства ситуаций.Однако, если книга может быть в настоящее время открыта в режиме только для чтения или может быть открыта другим пользователем, вы можете использовать немного другой подход.

Самый простой способ справиться с этим в этом сценарии – настоять на том, чтобы файл был закрыт для успешного выполнения приложения. Вы можете использовать приведенную ниже функцию, чтобы просто проверить, открыт ли уже файл, и, если да, сообщить пользователю, что он должен быть сначала закрыт.

(приведенный ниже код также взят из этой записи StackOverFlow)

https: // excelmacromastery.com /
'Функция проверки, открыта ли уже книга
Функция IsWorkBookOpen (strBookName как строка) как логическое значение
    
    Dim oBk как рабочая тетрадь
    
    При ошибке Возобновить Далее
    Установите oBk = Workbooks (strBookName)
    При ошибке GoTo 0
    
    Если не oBk - это ничто, тогда
        IsWorkBookOpen = True
    Конец, если
    
Конечная функция
 



Пример использования этой функции показан ниже. В этом случае, если рабочая книга уже открыта, вы сообщаете пользователю, что она должна быть закрыта, чтобы макрос продолжил работу.

https://excelmacromastery.com/
Sub ExampleUse ()

    Dim sFilename как строка
    sFilename = "C: \ temp \ writedata.xlsx"

    Если IsWorkBookOpen (Dir (sFilename)) = True, то
        MsgBox «Файл уже открыт. Закройте файл и снова запустите макрос».
        Выйти из подводной лодки
    Конец, если
    
    'Напишите сюда в рабочую тетрадь
    
Конец подписки
 



Если вам нужно проверить, открыта ли книга в другом экземпляре Excel, вы можете использовать атрибут ReadOnly книги.Будет установлено значение true, если он открыт в другом экземпляре.


Закрыть книгу

Закрыть книгу в Excel VBA очень просто. Вы просто вызываете метод книги Close .

нед.Закрыть
 



Обычно, когда вы закрываете книгу в VBA, вы не хотите видеть сообщения из Excel, спрашивающие, хотите ли вы сохранить файл.

Вы можете указать, сохранять книгу или нет, и тогда сообщения Excel не будут отображаться.

'Не сохранять изменения
wk.Close SaveChanges: = False

'Сохранить изменения
wk.Close SaveChanges: = True
 



Очевидно, вы не можете сохранить изменения в книге, которая в настоящее время открыта только для чтения.


Сохранить книгу

Мы только что видели, что вы можете сохранить книгу, когда закрываете ее. Если вы хотите сохранить его на любом другом этапе, вы можете просто использовать метод Сохранить

нед.Сохранить
 



Вы также можете использовать метод SaveAs

wk.Save как "C: \ Backups \ accounts.xlsx"
 



Метод Workbook SaveAs имеет двенадцать параметров, которые позволяют вам добавить пароль, сделать файл доступным только для чтения и так далее. Вы можете увидеть подробности здесь.



Вы также можете использовать VBA для сохранения книги в виде копии с помощью SaveCopyAs

wk.SaveCopyAs "C: \ Docs \ Copy.xlsm "
 


Копия книги

Если книга открыта, вы можете использовать два метода, описанные в предыдущем разделе, для создания копии, то есть SaveAs и SaveCopyAs .


Если вы хотите скопировать книгу, не открывая ее, вы можете использовать FileCopy , как показано в следующем примере

Public Sub CopyWorkbook ()
    FileCopy "C: \ Docs \ Docs.xlsm", "C: \ Docs \ Example_Copy.xlsm"
Конец подписки
 


Использование диалогового окна файла для открытия книги

В предыдущем разделе показано, как открыть книгу с заданным именем.Иногда вы можете захотеть, чтобы пользователь выбрал книгу. Вы можете легко использовать диалоговое окно Windows File Dialog , показанное здесь.

Диалог файла Windows




FileDialog настраивается, и вы можете использовать его для
  1. Выберите файл.
  2. Выберите папку.
  3. Откройте файл.
  4. «Сохранить как» файл.



Если вы просто хотите, чтобы пользователь выбрал файл, вы можете использовать функцию GetOpenFilename.



Следующая функция открывает книгу с помощью диалогового окна «Файл». Функция возвращает полное имя файла, если файл был выбран. Если пользователь отменяет, отображается сообщение и возвращается пустая строка.

https://excelmacromastery.com/
Открытая функция UserSelectWorkbook () как строка

    При ошибке Перейти к ErrorHandler

    Dim sWorkbookName As String

    Dim FD как FileDialog
    Установите FD = Application.FileDialog (msoFileDialogFilePicker)

    'Открыть диалоговое окно файла
    С FD
        'Установить заголовок диалогового окна
        .Title = "Пожалуйста, выберите файл"

        'Добавить фильтр
        .Filters.Добавьте «Файлы Excel», «* .xls; *. Xlsx; *. Xlsm».

        'Разрешить выбор только одного файла
        .AllowMultiSelect = Ложь

        'Показать диалог
        .Показывать

        Если .SelectedItems.Count> 0 Тогда
            UserSelectWorkbook = .SelectedItems (1)
        Еще
            MsgBox «Выбор файла отменен».
            UserSelectWorkbook = ""
        Конец, если
    Конец с

    'Очистить
    Установите FD = Nothing
Сделанный:
    Функция выхода
ErrorHandler:
    MsgBox "Ошибка:" + Err.Описание
Конечная функция
 



Когда вы вызываете эту функцию, вы должны проверить, отменяет ли пользователь диалоговое окно. В следующем примере показано, как легко вызвать функцию UserSelectWorkbook и обработать случай отмены пользователем

.
https://excelmacromastery.com/
Открытый Sub TestUserSelect ()

    Dim userBook As Workbook, sFilename As String

    'Вызов функции UserSelectworkbook
    sFilename = UserSelectWorkbook ()

    'Если имя файла возвращается пустым, пользователь отменил
    Если sFilename "" Тогда
        'Откройте книгу и сделайте с ней что-нибудь
        Установите userBook = Workbooks.Открыть (sFilename)
    Конец, если

Конец подписки
 



Вы можете настроить диалоговое окно, изменив заголовок, фильтры и AllowMultiSelect в функции UserSelectWorkbook .


Использование ThisWorkbook

Существует более простой способ получить доступ к текущей книге, чем использование Workbooks () . Вы можете использовать ключевое слово ThisWorkbook . Это относится к текущей книге, то есть книге, содержащей код VBA.

Если наш код находится в книге, вызовите MyVBA.xlsm, тогда ThisWorkbook и Workbooks («MyVBA.xlsm») относятся к той же книге.



Использование ThisWorkbook более полезно, чем использование Workbooks () . С ThisWorkbook нам не нужно беспокоиться об имени файла. Это дает нам два преимущества:

  1. Изменение имени файла не повлияет на код
  2. Копирование кода в другую книгу не требует изменения кода



Это может показаться очень незначительным преимуществом.На самом деле имена ваших файлов будут постоянно меняться. Использование ThisWorkbook означает, что ваш код по-прежнему будет работать нормально.



В следующем примере показаны две строки кода. Один использует ThisWorkbook , а другой – Workbooks () . Тот, который использует рабочие книги, больше не будет работать, если имя MyVBA.xlsm изменится.

https://excelmacromastery.com/
Общедоступная подписка WriteToCellUsingThis ()

    «Обе строчки делают одно и то же.Debug.Print ThisWorkbook.FullName
    Debug.Print Workbooks ("MyVBA.xlsm"). FullName

Конец подписки
 


Использование ActiveWorkbook

ActiveWorkbook относится к рабочей книге, которая в настоящее время активна. Это тот, на который пользователь нажимал последний раз.

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

Использование ActiveWorkbook также затрудняет чтение кода. Из кода может быть не очевидно, какая книга должна быть активной.

Надеюсь, я ясно дал понять, что вам следует избегать использования ActiveWorkbook , если в этом нет необходимости. Если нужно, то будьте очень осторожны.


Примеры доступа к книге

Мы рассмотрели все способы доступа к книге. В следующем коде показаны примеры этих способов

https: // excelmacromastery.com /
Общедоступные вспомогательные книги

    'Это рабочая книга, которая уже открыта и называется MyVBA.xlsm
    Debug.Print Workbooks ("MyVBA.xlsm"). FullName

    'Книга, содержащая этот код
    Debug.Print ThisWorkbook.FullName

    'Первая открытая книга
    Отладка.Печать книг (1) .FullName

    'Последняя открытая книга
    Отладка.Печать рабочих книг (Workbooks.Count) .FullName

    'Текущая активная книга
    Отлаживать.Распечатать ActiveWorkbook.FullName

    'Рабочая тетрадь не указана - будет использоваться активная
    Debug.Print Worksheets ("Sheet1"). Имя

    'Закрытая книга под названием Book1.xlsm в папке C: \ Docs
    Workbooks.Open ("C: \ Docs \ Book1.xlsm")
    Debug.Print Workbooks ("Book1.xlsm"). FullName
    Рабочие тетради ("Book1.xlsm"). Закрыть

Конец подписки
 


Объявление переменной книги VBA

Причина объявления переменной книги состоит в том, чтобы упростить чтение и понимание кода.Лучше увидеть преимущество на примере

https://excelmacromastery.com/
Публичная подпрограмма OpenWrkObjects ()

    Тусклый труд как рабочая тетрадь
    Установите wrk = Workbooks.Open ("C: \ Docs \ Book1.xlsm")

    'Распечатать количество листов в каждой книге
    Debug.Print wrk.Worksheets.Count
    Debug.Print wrk.Name

    wrk.Close

Конец подписки
 



Вы можете установить переменную книги с помощью любого из методов доступа, которые мы видели.

Ниже показан тот же код без переменной книги

https://excelmacromastery.com/
Публичная подпрограмма OpenWrkNoObjects ()

   Workbooks.Open ("C: \ Docs \ Book1.xlsm")

   Debug.Print Workbooks ("Book2.xlsm"). Worksheets.Count
   Debug.Print Workbooks ("Book2.xlsm"). Имя

    Рабочие тетради ("Book2.xlsm"). Закрыть

Конец подписки
 



В этих примерах разница несущественная. Однако, когда у вас много кода, использование переменной полезно, в частности, для рабочих таблиц и диапазонов, имена которых имеют тенденцию быть длинными e.грамм. thisWorkbook.Worksheets («Sheet1»). Range («A1») .

Переменной книги можно присвоить имя, например, wrkRead или wrkWrite. Тогда вы сразу поймете, для чего используется эта книга.


Создать новую книгу

Чтобы создать новую книгу, вы используете функцию Рабочие книги Добавить . Эта функция создает новую пустую книгу. Это то же самое, что выбрать «Новая книга» в меню «Файл Excel».



Когда вы создаете новую книгу, вы, как правило, хотите сохранить ее.В следующем коде показано, как это сделать.

https://excelmacromastery.com/
Общедоступная подписка AddWordbook ()

    Тусклый труд как рабочая тетрадь
    Установить wrk = Workbooks.Add

    'Сохранить как xlsx. Это значение по умолчанию.
    wrk.SaveAs "C: \ Temp \ Example.xlsx"

    'Сохранить как книгу с поддержкой макросов
    wrk.SaveAs "C: \ Temp \ Example.xlsm", xlOpenXMLWorkbookMacroEnabled

Конец подписки
 



Когда вы создаете новую книгу, она обычно состоит из трех листов.Это определяется свойством Application.SheetsInNewWorkbook .



Если вы хотите, чтобы в новой книге было другое количество листов, измените это свойство перед созданием новой книги. В следующем примере показано, как создать новую книгу с семью листами.

https://excelmacromastery.com/
Общедоступная подписка AddWordbookMultiSheets ()

    'Сохранить значение SheetsInNewWorkbook, чтобы мы могли сбросить его позже
    Тусклый листCnt по длине
    sheetCnt = Приложение.ТаблицыInNewWorkbook

    'Установить в новой книге 7 листов.
    Application.SheetsInNewWorkbook = 7

    'Рабочая тетрадь будет создана из 7 листов
    Тусклый труд как рабочая тетрадь
    Установить wrk = Workbooks.Add

    'Отображение количества листов
    Debug.Print "количество листов:" & CStr (wrk.Worksheets.Count)

    'Восстановить исходное значение
    Application.SheetsInNewWorkbook = sheetCnt

Конец подписки
 


Ключевое слово With и рабочая тетрадь

Ключевое слово With упрощает чтение и запись кода VBA.Использование с означает, что вам нужно упомянуть элемент только один раз. С используется с Объектами. Это такие элементы, как рабочие тетради, рабочие листы и диапазоны.



В следующем примере два Subs. Первый похож на код, который мы видели до сих пор. Второй использует ключевое слово с . Вы можете видеть, что код намного яснее во втором Sub. Ключевые слова Конец на обозначают окончание кода раздела с помощью на .

https://excelmacromastery.com/
'Без ключевого слова With
Общедоступная подпрограмма NoUsingWith ()

   Debug.Print Workbooks ("Book2.xlsm"). Worksheets.Count
   Debug.Print Workbooks ("Book2.xlsm"). Имя
   Debug.Print Workbooks ("Book2.xlsm"). Worksheets (1) .Range ("A1")
   Рабочие тетради ("Book2.xlsm"). Закрыть

Конец подписки

'Использование With упрощает чтение кода
Публичная подписка UsingWith ()

    С книгами ("Book2.xlsm")
        Отлаживать.Распечатать .Worksheets.Count
        Debug.Print .Name
        Debug.Print .Worksheets (1) .Range ("A1")
        .Закрывать
    Конец с

Конец подписки
 


Сводка

Ниже приводится краткое изложение основных моментов этого поста

  1. Чтобы получить книгу, содержащую код, используйте ThisWorkbook .
  2. Чтобы получить любую открытую книгу, используйте Рабочие книги («Example.xlsx») .
  3. Чтобы открыть книгу, используйте Set Wrk = Workbooks.Откройте («C: \ Folder \ Example.xlsx»).
  4. Разрешить пользователю выбирать файл с помощью функции UserSelectWorkbook , представленной выше.
  5. Чтобы создать копию открытой книги, используйте свойство SaveAs с именем файла.
  6. Чтобы создать копию книги без открытия, используйте функцию FileCopy .
  7. Чтобы упростить чтение и запись кода, используйте ключевое слово With .
  8. Другой способ сделать ваш код понятным – использовать Рабочую книгу переменных
  9. Чтобы просмотреть все открытые книги, используйте для каждой недели в рабочих книгах , где недель – переменная книги.
  10. Старайтесь избегать использования ActiveWorkbook и Workbooks (Index) , поскольку их ссылка на книгу является временной.

Вы можете увидеть краткое руководство по теме в верхней части этого сообщения


Заключение

Это был подробный пост об очень важном элементе VBA – Рабочей книге. Надеюсь, вы сочли это полезным. Excel отлично предоставляет множество способов выполнения аналогичных действий, но недостатком является то, что иногда это может привести к путанице.

Чтобы извлечь максимальную пользу из этого поста, я рекомендую вам попробовать примеры. Создайте книги и поиграйте с кодом. Внесите изменения в код и посмотрите, как изменения повлияют на результат. Практика – лучший способ изучить VBA.

Если вы нашли этот пост полезным, не стесняйтесь поделиться им с другими, используя панель сбоку.


Что дальше?

Бесплатное руководство по VBA Если вы новичок в VBA или хотите отточить свои существующие навыки VBA, почему бы не попробовать The Ultimate VBA Tutorial.

Связанное обучение: Получите полный доступ к обучающим вебинарам по Excel VBA и всем учебным материалам.