Установить 32 офис на 64 разрядную систему. Старый код VBA. Совместимость элементов управления ActiveX и надстроек COM

Скачать на Телефон 09.04.2019
Скачать на Телефон

Вас интересует, какая версия Office 2010 используется на домашнем компьютере - 32 или 64-битная? В этой статье мы вам подскажем, как узнать версию Office.

Как узнать версию office

1. Открываем офисное приложение. В нашем примере речь пойдет о Word 2010, но этот способ работает также как и с другими версиями офисного приложения. Открываем раздел главного меню «File», а в нем пункт «Help».

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

3. Запишите номер версии, который, скорее всего, окажется 32-битной версией офисного пакета. Чаще всего именно эту разрядность приложений используют при установке Office 2010 (по умолчанию).

4. Если вы обнаружили, что используете 32-битную версию, то можно загружать и использовать как 32-битную версию, так и версию x86 офисных расширений.

5. Если же вы используете 64-битную версию офисного пакета, то в указании версии после названия Office должен стоять суффикс «64-bit». В таком случае при загрузке дополнений вам необходимо использовать исключительно версии для стандарта x64.

6. Если вы непроизвольно попытаетесь установить 32-битное расширение на 64-битную версию Office или наоборот, мастер установки может предупредить вас о необходимости скачать и установить правильную версию. Стоит обратить внимание также на то, что некоторые 32-битные расширения, включая старые версии, могут нормально работать с 64-битной версией.

Заключение

Хотя проверку версии офисного пакета не следует проводить каждый день, будет не лишним проверить, какую версию Office вы используете - 32 или 64-битную. Теперь, когда вы в курсе, как узнать версию Office, можно приступить к его тонкой настройке. Расширения и плагины могут добавить офисному пакету новые возможности, начиная с поддержки сервисов LinkedIn и Facebook и заканчивая вставкой в письмо Outlook химических уравнений.

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

64-разрядная версия Office устанавливается автоматически, если в начале установки вы явным образом не выбрали 32-разрядную.

на ПК .

Важно: Если установлена 64-разрядная версия, но вместо этого требуется 32-разрядная, необходимо Удалить 64-разрядную версию перед установкой 32-разрядной версии. То же самое и в случае, если вы установили 32-разрядную версию, но хотите установить 64-разрядную версию. См. сообщение об ошибке «Не удалось установить Office (64-разрядная или 32-разрядная версия)» .

Примечание:

    И .

    Изменить в таблице данных

Чтобы установить 32- или 64-разрядную версию Office 365 или 2019, выполните действия из статьи .

Я знаю, какая версия мне нужна. Как ее установить?

32-разрядная версия Office устанавливается автоматически, если в начале установки вы явным образом не выбрали 64-разрядную.

Скачивание, установка и повторная установка Office .

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

Причины для выбора 64-разрядной версии

Компьютеры с 64-разрядными версиями Windows, как правило, имеют больше ресурсов, например процессорной мощности и памяти, чем их 32-разрядные предшественники. Кроме того, 64-разрядным приложениям доступно больше памяти, чем 32-разрядным (до 18,4 миллионов петабайт). Поэтому, если вы работаете с большими файлами или наборами данных и на вашем компьютере установлена 64-разрядная версия Windows, лучше выбрать 64-разрядную версию Office. Ниже приведены некоторые из таких сценариев.

Причины для выбора 32-разрядной версии

Примечание: Если у вас 32-разрядная версия Windows, то вы можете установить только 32-разрядную версию Office. Если вы используете 64-разрядную версию Windows, то можете выбирать между 32- и 64-разрядной версиями Office.

ИТ-специалистам, в особенности разработчикам, следует ознакомиться с описанными ниже ситуациями, в которых предпочтительнее использовать 32-разрядную версию Office.

    У вас есть 32-разрядные надстройки COM без 64-разрядных аналогов . Вы можете продолжать использовать 32-разрядные надстройки COM в 32-разрядной версии Office на компьютерах с 64-разрядной ОС Windows. Вы также можете попробовать обратиться к поставщику надстройки COM и запросить 64-разрядную версию.

    Вы используете 32-разрядные элементы управления, у которых нет 64-разрядных аналогов . Вы можете продолжать использовать 32-разрядные элементы управления, например типовые элементы управления Microsoft Windows (Mscomctl.ocx, comctl.ocx) или элементы управления сторонних производителей, в 32-разрядной версии Office.

    В коде VBA используются операторы Declare . В основном код VBA не требуется адаптировать к использованию в 64-разрядной или 32-разрядной версии. Исключением является ситуация, когда операторы Declare применяются для вызова API Windows с использованием указателей и дескрипторов, имеющих 32-разрядные типы данных, такие как long. В большинстве случаев добавление ключевого слова PtrSafe к оператору Declare и замена типа long на тип LongPtr делает оператор Declare совместимым как с 32-, так и с 64-разрядной версией. Однако это невозможно в тех редких случаях, когда для оператора Declare нет 64-разрядного интерфейса API. Дополнительные сведения об изменениях, которые необходимо внести в код VBA для его выполнения в 64-разрядной версии Office, см. в статье Обзор 64-разрядной версии Visual Basic для приложений .

    У вас есть 32-разрядные приложения MAPI для Outlook . Так как число пользователей 64-разрядной версии Outlook растет, рекомендуется переделать 32-разрядные приложения, надстройки и макросы MAPI, адаптировав их для 64-разрядной версии Outlook. Но при необходимости вы можете продолжать использовать их с 32-разрядной версией Outlook. Узнать о том, как подготовить приложения Outlook для использования как на 32-разрядных, так и на 64-разрядных платформах, можно в статьях Построение приложений MAPI на 32-разрядных и 64-разрядных платформах и Справочник по MAPI для Outlook .

    Вы активируете 32-разрядный OLE-сервер или объект . Вы можете продолжать использовать приложение 32-разрядного OLE-сервера с установленной 32-разрядной версией Office.

    Вы используете SharePoint Server 2010, и вам требуется представление "Изменить в таблице данных" . Вы можете продолжать использовать представление Изменить в таблице данных в SharePoint Server 2010 с 32-разрядной версией Office.

    Вам нужны 32-разрядные файлы баз данных Microsoft Access: MDE, ADE и ACCDE . Вы можете перекомпилировать 32-разрядные файлы MDE, ADE и ACCDE, чтобы сделать их совместимыми с 64-разрядной версией Access, или продолжать использовать их в 32-разрядной версии.

    Вам требуется редактор формул прежней версии или файлы WLL (файлы библиотек надстроек Microsoft Word) в приложении Word . Вы можете продолжать использовать редактор формул Word прежней версии и запускать файлы WLL в 32-разрядной версии Word.

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

Готовы приступить к установке?

Чтобы установить 32- или 64-разрядную версию Office 2016, выполните действия из статьи Скачивание, установка и повторная установка Office .

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

Инструкции по установке Office 2013 см. в статье .

Причины для выбора 64-разрядной версии

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

    Вы работаете с очень большими наборами данных, например с книгами Excel корпоративного уровня, в которых используются сложные вычисления, большое количество сводных таблиц, подключения к внешним базам данных, PowerPivot, PowerMap или PowerView. В этом случае лучше воспользоваться преимуществами более высокой производительности 64-разрядной версии Office.

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

    Вы работаете с очень большими документами Word. 64-разрядная версия лучше подходит для обработки больших таблиц, рисунков и других объектов в документах Word.

    Вы работаете в Project 2013 с файлами размером более 2 ГБ, особенно если проект содержит несколько подпроектов.

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

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

Если к вам нельзя применить ни один из описанных выше сценариев, вероятно, вам лучше установить 32-разрядную версию.

Примечание: 32-разрядная версия Office хорошо подходит как для 32-, так и для 64-разрядной версии Windows. 64-разрядную версию Office можно установить только в 64-разрядной версии Windows. Если вы устанавливаете Office не в Windows, вам не нужно будет выбирать между 32- и 64-разрядной версиями продукта. Сведения о том, как определить установленную версию Office, см. в статье

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

Причины для выбора 32-разрядной версии

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

    Не будут работать решения, в которых используется библиотека элементов ActiveX, элементы ComCtl. Существует несколько способов, которые позволят разработчикам обойти эту проблему и предоставить вам 64-разрядное решение.

    Не будут работать 32-разрядные элементы ActiveX и надстройки сторонних разработчиков. Поставщику потребуется создать 64-разрядные версии этих элементов.

    Код Visual Basic для приложений (VBA) с оператором Declare работает в 64-разрядной версии Office, только если его обновить вручную. Дополнительные сведения о том, какие изменения нужно внести в код VBA, чтобы он работал в 64-разрядной версии Office, см. в статье Обзор 64-разрядной версии Visual Basic для приложений .

    Скомпилированные базы данных Access, например MDE-, ADE- и ACCDE-файлы, не работают в 64-разрядной версии Office, если не разработаны специально под нее.

    У вас есть 32-разрядные приложения MAPI для Outlook. Так как число пользователей 64-разрядной версии Outlook растет, рекомендуется переделать 32-разрядные приложения, надстройки и макросы MAPI, адаптировав их для 64-разрядной версии Outlook. Узнать о том, как подготовить приложения Outlook для использования как на 64-разрядных, так и на 32-разрядных платформах, можно в статьях Построение приложений MAPI на 32-разрядных и 64-разрядных платформах и Справочник по MAPI для Outlook .

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

    Средство просмотра таблиц Microsoft Office Excel, ядро СУБД Access для Access 2013 и пакет обеспечения совместимости для выпуска 2007 системы Office блокируют установку 64-разрядной версии Office 2013.

    Устаревший редактор формул в Word не поддерживается в 64-разрядной версии Office 2016, но конструктор формул в Word 2013 работает на всех платформах. Кроме того, библиотеки надстроек Word (WLL) не поддерживаются в 64-разрядной версии Office 2013.

Некоторые надстройки, которые вы используете в 32-разрядной версии Office, могут не работать в 64-разрядной версии, и наоборот. Если вас беспокоит этот вопрос, перед установкой новой версии проверьте текущую версию Office. Протестируйте работоспособность надстройки в 64-разрядной версии Office или свяжитесь с ее разработчиком, чтобы выяснить, доступна ли 64-разрядная версия надстройки.

Важно: Если вы являетесь администратором, ответственным за развертывание Office, просмотрите дополнительные технические сведения о 64-разрядных выпусках Office 2013 на сайте TechNet.

Готовы приступить к установке?

См. инструкции в этой статье:

Office 2010 - первый выпуск Office, доступный как в 32-, так и в 64-разрядной версии. По умолчанию автоматически устанавливается 32-разрядная версия Office. Но вы можете выбрать подходящую версию с учетом того, как планируете использовать Office. Некоторые надстройки, которые вы используете в 32-разрядной версии Office, могут не работать в 64-разрядной, и наоборот. Если вас беспокоит этот вопрос, перед установкой новой версии проверьте текущую версию Office. Протестируйте работоспособность надстройки в 64-разрядной версии Office или свяжитесь с ее разработчиком, чтобы выяснить, доступна ли 64-разрядная версия надстройки.

Я знаю, что мне нужна 64-разрядная версия. Как ее установить?

Инструкции по установке Office 2010 см. в статье .

Если вы еще не сделали выбор, просмотрите разделы ниже.

Причины для выбора 64-разрядной версии

Ниже описаны преимущества 64-разрядной версии Office 2010. Вам также следует знать о свойственных ей ограничениях, например о возможной несовместимости со старыми версиями некоторых надстроек. Именно из-за этих ограничений по умолчанию устанавливается 32-разрядная версия (даже в 64-разрядной операционной системе Windows).

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

    Вы работаете с очень большими наборами данных, например с книгами Excel корпоративного уровня, в которых используются сложные вычисления, большое количество сводных таблиц, подключения к внешним базам данных, PowerPivot, 3D Maps, PowerView или запросы "Скачать и преобразовать". 64-разрядная версия Office лучше подходит для работы с большими наборами данных, так как в ней нет ограничений для размера файлов, в отличие от 32-разрядной версии, где размер файлов не может превышать 2 ГБ.

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

    Вы работаете в Office Project с файлами, занимающими на диске более 2 ГБ, особенно если проект содержит много подпроектов.

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

    Вашей организации требуется предотвращение выполнения данных (DEP) для приложений Office на аппаратном уровне. DEP - это набор аппаратных и программных технологий, которые используются в некоторых организациях для повышения безопасности. В 64-разрядной версии DEP применяется автоматически, в то время как в 32-разрядной версии его необходимо будет настроить с помощью параметров групповой политики.

    Число пользователей 64-разрядной версии Outlook растет, поэтому рекомендуется переделать 32-разрядные приложения, надстройки и макросы MAPI, адаптировав их для 64-разрядной версии Outlook. Но при необходимости вы можете продолжать использовать их с 32-разрядной версией Outlook.

Причины для выбора 32-разрядной версии

Если на вашем компьютере 32-разрядная версия Windows, вам необходимо установить 32-разрядную версию Office 2010 (вариант по умолчанию). Вы не сможете установить 64-разрядную версию Office.

Совет: В то же время 32-разрядная версия Office может работать на компьютерах как с 32-разрядными, так и с 64-разрядными версиями Windows. В Office 2010 можно продолжать использовать существующие элементы Microsoft ActiveX, надстройки COM и Visual Basic для приложений (VBA). Это относится прежде всего к 32-разрядной версии, так как 64-разрядных версий многих надстроек не существует.

    Если вашей организации необходимо продолжать использовать расширения для Office , такие как элементы ActiveX, надстройки сторонних разработчиков, собственные решения на базе предыдущих версий Office или 32-разрядные версии программного обеспечения, которое напрямую взаимодействует с Office, рекомендуем автоматически установить 32-разрядную (x86) версию Office 2010 на компьютерах как с 32-, так и с 64-разрядными версиями Windows.

    Вы используете 32-разрядные элементы управления, у которых нет 64-разрядных аналогов . Вы можете продолжать использовать 32-разрядные элементы управления, например типовые элементы управления Microsoft Windows (Mscomctl.ocx, comctl.ocx) или элементы управления сторонних производителей, в 32-разрядной версии Office.

    В коде VBA используются операторы Declare . Код Visual Basic для приложений (VBA) с оператором Declare работает в 64-разрядной версии Office, только если его обновить вручную.

    В SharePoint Server 2010 и более ранних версиях будет недоступно представление таблицы данных . Но вы можете продолжать использовать представление Изменить в таблице данных в SharePoint Server 2010 с 32-разрядным клиентом Office.

    Скомпилированные базы данных Access, например MDE- и ACCDE-файлы, не работают в 64-разрядной версии Office, если не разработаны специально под нее.

    Вам требуется устаревший редактор формул или WLL-файл (файл библиотек надстроек Word) в приложении Word . Вы можете продолжать использовать устаревший редактор формул Microsoft Word (WLL-файлы не рекомендуются к использованию в 32-разрядной версии и не поддерживаются в Office 2010).

    В 64-разрядной версии отсутствует кодек (программное обеспечение для сжатия и распаковки звуковых и видеофайлов) для трех форматов файлов мультимедиа QuickTime . Следовательно, если в ваших презентациях PowerPoint есть внедренные файлы мультимедиа старых форматов, необходимо использовать 32-разрядную версию Office.

Какую версию выбрать Microsoft Office 2016 (32 или 64 бит)

Сводка. В этой статье описываются преимущества и недостатки развертывания 64-разрядной версии Office, а также указывается, почему мы рекомендуем 32-разрядную версию Office 2013 для большинства пользователей.

Аудитория: ИТ-специалисты

Так как все больше персональных компьютеров работают под управлением 64-разрядных операционных систем Windows, пользователей искушает возможность установки 64-разрядной версии Office 2013. Одно из преимуществ 64-разрядных выпусков Office состоит в том, что пользователи могут работать с более крупными наборами данных Excel и Project. Но существуют недостатки совместимости, так как надстройки и решения для Office могут не работать. Поэтому 32-разрядная версия Office 2013 рекомендуется для большинства пользователей.

Вы устанавливаете Office дома? Узнайте, как выбрать 32- или 64-разрядную версию Office. 32-разрядная версия Office 2013 или Office 365 профессиональный плюс устанавливается по умолчанию - http://go.microsoft.com/fwlink/p/?LinkId=250955

Большинству пользователей мы рекомендуем 32-разрядную версию Office, так как она совместима с большинством других приложений, в частности, с надстройками сторонних разработчиков. Поэтому по умолчанию устанавливается 32-разрядная версия Office 2013 даже на 64-разрядных операционных системах Windows. В этих системах 32-разрядный клиент Office поддерживается в формате WOW64 (Windows-32-on-Windows-64). WOW64 - это эмулятор 32-разрядной среды (x86), обеспечивающий свободную работу 32-разрядных приложений Windows в 64-разрядных системах Windows. Это позволяет пользователям применять существующие элементы Microsoft ActiveX и надстройки COM с 32-разрядным набором Office.

Преимущества 64-разрядных версий Office доступны только для определенных типов пользователей и рабочих нагрузок

Существует несколько случаев, в которых следует рассмотреть возможность развертывания 64-разрядного выпуска Office 2013. Вот несколько примеров:

Опытные пользователи Excel, работающие со сложными листами Excel, могут получить преимущества от использования 64-разрядной версии Office 2013. Это вызвано тем, что 64-разрядный Office не накладывает жесткие ограничения на размер файла. На самом деле, размер книги ограничен только доступной памятью и системными ресурсами. С другой стороны, 32-разрядный Office ограничен 2 гигабайтами (ГБ) виртуального адресного пространства, которое совместно используется Excel, книгой и надстройками, работающими в одном процессе. Листы размером меньше 2 ГБ на диске могут содержать достаточно данных, чтобы занять 2 ГБ или больше адресуемой памяти. Подробнее см. в разделах Технические характеристики и ограничения Excel и Спецификации и ограничения модели данных.

Пользователи Project 2013 также получат преимущества при работе с файлами Project размером больше 2 ГБ, особенно при использовании нескольких вложенных проектов в рамках крупного проекта.

Разработчики собственных решений Office получат доступ к 64-разрядному выпуску Office 2013 для тестирования и обновления собственных решений.

Office 2013 предоставляет функции защиты с помощью аппаратного предотвращения выполнения данных (DEP). DEP - это набор аппаратных и программных технологий, которые проводят дополнительные проверки памяти, чтобы предотвратить выполнение вредоносного кода в системе. В 64-разрядных установках DEP всегда применяется к приложениям Office. В 32-разрядных установках можно настроить DEP, используя параметры групповой политики.

Множество пользователей при установке на свой персональный компьютер операционной системы Windows искренне недоумевают, какую из версий платформы выбрать - x64 или x86? И вообще, что на самом деле означают указанные сокращения?

Программы с x64 или x86: разница есть

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

Откуда повелось

Когда-то в начале своего пути вычислительные чипы позволяли пользователю работать
с операционными системами и программами на 16-битной основе, позже им в помощь пришли более совершенные 32-битные аналоги, теперь же прогресс уже смог коснуться 64-битных архитектур и даже серьезно их распространить по миру.
Вы, уважаемые читатели, вряд ли сегодня найдете компьютеры, которые поддерживают 16-битные программы, а новые PC выпускаются, как правило, с самой современной архитектурой и поставляются уже с 64-битными операционными системами.

Пионером в сфере разработки 64-битных вычислительных чипов считается компания AMD. Поэтому разработчики программного обеспечения обобщают подобные процессоры под общим именем "Amd64". Важно понять, что такое обозначение не значит, что игры, в характеристиках которых указан пункт amd64, не будут запускаться на компьютерах под управлением 64-битных процессоров авторства компании Intel.

В описанном случае речь идет об обычном обобщении, которому удалось прочно войти в практику. Сами сокращения x64 или x86 соответствуют именно разной архитектуре процессоров - 64 или 32 соответственно. Если говорить о применении этих обозначений к современным операционным системам, то они обозначают разрядность.

Как узнать x64 или x86 ОС установлена на ПК?

Часто пользователи пытаются определить, какая разрядность или, другими словами, тип операционной системы установлен на их компьютере в настоящий момент. Чтобы решить поставленную задачу, необходимо навести курсор мыши на значок «Компьютер» на рабочем столе (стандартный для системы Windows) и кликнуть по нему один раз правой кнопкой.

Далее в открывшемся контекстном меню следует выбрать «Свойства». После проделанных действий перед вами должно открыться окно с полным списком характеристик вашего компьютера, а также установленной операционной системы. Таким образом, вы сможете увидеть один из пары вариантов: 32-разрядная операционная система или 64-разрядная.

Вот таким нехитрым образом мы разобрались, как проверить, x86 или x64 программы следует устанавливать. Далее необходимо сказать, что особенность 64-битных программ заключена в их невероятной производительности, но с другой стороны - они слишком требовательны по отношению к памяти. Вот оно, подтверждение правила о том, что все хорошо в меру: установка 64-битной операционной системы на слабый ноутбук с парой гигабайт ОЗУ и 32-битным классическим процессором - это ошибка, однако, с другой стороны, 32-разрядные программы и системы не в силах видеть свыше 3 Гб ОЗУ. В случае, если в вашем распоряжении имеется персональный компьютер, оперативная память у которого равна 4 и более гигабайтам, можете смело устанавливать 64-разрядную Windows-платформу, соответственно, программы также должны быть 64-битные. Программы такого типа используют ресурсы, имеющиеся на компьютере, по максимуму, По сути, актуальный вопрос о том, что лучше - windows x86 или x64, сформулирован не вполне корректно, так как обе платформы хороши, а выбор необходимой определяется конфигурацией отдельно взятого компьютера.



Windows x64: подводные камни

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

Мы уже отмечали, что Windows x64 потребляет больше ресурсов, однако следует сказать, что все программы для 64-разрядной среды также начинают «желать большего». И наконец, если вы решите установить неподписанный потребует ряда дополнительных действий.

На другой чаше весов лежит доступ ко всем ресурсам установленной на компьютере ОЗУ. При наличии Windows x64 даже некоторые 32-битные программы могут воспользоваться доступом к 4 ГБ ОЗУ, например игры "Сталкер" и "Готика". Для сравнения: в среде 32-битной операционной системы игры и программы получают доступ к 2 Гб памяти, и в крайне редких случаях - к 3 Гб.

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

Если с дилеммой «x86 или x64: что ставить» вы окончательно определились в пользу последней, однако не хотите расставаться со старыми добрыми программами, вам следует знать, что 99 процентов 32-битных приложений без снижения производительности и любых проблем работают в 64-битной среде. Что касается производительности в играх, то она прежде всего зависит от показателей вашего видеодрайвера.


P.S: все, о чем не успели упомянуть выше

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


Недостижимая граница

Интересно, что у 64-разрядной архитектуры также есть свои пределы касательно воспринимаемой оперативной памяти: x64 не может увидеть более 192 Гб ОЗУ. Еще один любопытный момент: натуральный объем 64-разрядных приложений, как
правило, на 20-40% больше, чем у 32-разрядных аналогов, однако не стоит сразу же бежать за новым жестким диском, ведь данное правило не распространяется на такие развлекательные материалы, как видеоролики (кинофильмы) или музыку.



Число сомнения - 4

Отдельно следует обсудить судьбу ПК с 4 гигабайтами ОЗУ. Вот в чем штука: с одной стороны, 32-разрядные ОС видят только 3 Гб памяти, и выбор в пользу 64х кажется очевидным, однако не забывайте, что Windows x64 просто для того, чтобы заставить себя работать, потребует вдвое больше ОЗУ, чем ее 32-разрядная «сестра», и победа в таком случае кажется весьма неоднозначной. В таких условиях выбор должен определяться не математическим подсчетом, а вашими потребностями и теми задачами, которые вы намерены ставить перед компьютером. И не ждите внешних эффектов, ведь с точки зрения дизайна 32 и 64-разрядные операционные системы идентичны.

Новости от Adobe

Если вы художник или дизайнер, огорчим вас или порадуем недавним заявлением компании Adobe о том, что все современные приложения Adobe CS5 станут исключительно 64-битными. Другими словами, Dreamweaver CS5, Photoshop CS5 и тому подобные знаменитые приложения смогут запуститься исключительно на 64-битной системе. 32-битная платформа их просто не распознает.



Все оказалось просто

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

Сводка. Для пользователей, работающих с данными объемом 2 ГБ и более, теперь доступна 64-разрядная версия Microsoft Office 2010. В этой статье рассмотрена совместимость 32-разрядной и новой 64-разрядной версий, а также старых 32-разрядных приложений Office и решений для них (7 печатных страниц).

Применимо к: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Visual Basic for Applications 7.0 (VBA 7.0) | Word 2010

В этой статье

Введение в базу кода VBA 7
Совместимость интерфейсов API
Вопросы и ответы
Заключение
Дополнительные ресурсы

    Введение в 32- и 64-разрядные версии Microsoft Office 2010

    Сравнение 32-разрядных систем с 64-разрядными

    Введение в базу кода VBA 7

    Совместимость элементов управления ActiveX и надстроек COM

    Совместимость интерфейсов API

    Использование атрибутов условной компиляции

    Вопросы и ответы

    Заключение

    Дополнительные ресурсы

Введение в 32- и 64-разрядные версии Microsoft Office 2010

Система Microsoft Office 2010 доступна в 32- и 64-разрядной версии. 64-разрядная версия позволяет работать с гораздо большими объемами данных. Это особенно заметно при работе с большими числами в Microsoft Excel 2010.

С выходом новой 64-разрядной версии Microsoft Office 2010 выпускается новая версия Microsoft Visual Basic для приложений (VBA), известная как Microsoft Visual Basic для приложений 7.0 (VBA 7), которая сможет работать с 32- и 64-разрядными приложениями. Следует отметить, что изменения, описанные в этой статье, применимы только к 64-разрядной версии Microsoft Office 2010. Использование 32-разрядной версии Office 2010 позволяет применять решения, встроенные в предыдущие версии Microsoft Office, без их изменения.

Примечание

При стандартной установке Office 2010 устанавливается 32-разрядная версия, даже на 64-разрядных системах. Следует явно выбрать установку 64-разрядной версии Office 2010.

В VBA 7 следует обновить операторы существующего интерфейса API Windows (операторы Declare) для работы с 64-разрядной версией. Кроме того, следует обновить указатели адреса и дескрипторы окон в типах, определенных пользователем, которые используются в этих операторах. Это описывается более подробно далее в этой статье, как и проблемы совместимости 32- и 64-разрядной версии Office 2010 и возможные решения.

Сравнение 32-разрядных систем с 64-разрядными

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

Помимо ссылок на определенные места (называемых указателями) в физической памяти, которые приложение использует для хранения данных или программных операторов, адреса можно также использовать для ссылок на идентификаторы окон (называемых дескрипторами). В зависимости от того, используется ли 32-разрядная или 64-разрядная система, определяется размер указателей и дескрипторов (в байтах).

При запуске существующих решений с 64-разрядной версией Office 2010 есть две основных проблем.

    Собственные 64-разрядные процессы в Office 2010 не могут загружать 32-разрядные двоичные файлы. Это происходит при использовании существующих элементов управления Microsoft ActiveX и надстроек.

    В VBA ранее не было типа данных указателя, и поэтому разработчики использовали 32-разрядные переменные для хранения указателей и дескрипторов. Теперь при использовании операторов Declare эти переменные усекают 64-разрядные значения, возвращаемые вызовами интерфейса API.

Введение в базу кода VBA 7

VBA 7 - это новая база кода, которая заменяет предыдущую версию VBA. Язык VBA 7 существует как для 32-разрядных, так и 64-разрядных версий Office 2010. Он предоставляет две константы условной компиляции: VBA7 и Win64. Константа VBA7 обеспечивает обратную совместимость кода, проверяя, использует ли приложение VBA 7 или предыдущую версию VBA. Константа Win64 используется для проверки, выполняется ли код как 32-разрядный или 64-разрядный. Использование обеих этих констант компиляции показано далее в этой статье.

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

Совместимость элементов управления ActiveX и надстроек COM

Существующие 32-разрядные элементы управления ActiveX, как от корпорации Майкрософт, так и от других производителей, несовместимые с 64-разрядной версией Office 2010. Для элементов управления ActiveX и COM-объектов существует три возможных решения.

    Если есть исходный код, можно самому создать 64-разрядную версию.

    Можно обратиться к производителю для получения обновленной версии.

    Можно выполнить поиск альтернативного решения.

В 64-разрядной версии Office 2010 невозможно загрузить 32-разрядные двоичные файлы, а значит, и стандартные элементы управления MSComCtl (TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListViews, ImageList, Slider, ImageComboBox) и элементы управления MSComCt2 (Animation, UpDown, MonthView, DateTimePicker, FlatScrollBar). Эти элементы управления устанавливались с предыдущими версиями Microsoft Office и устанавливаются с 32-разрядной версией Office 2010. Следует найти альтернативу существующим решениям VBA для Microsoft Office, которые используют эти элементы управления при переносе кода в 64-разрядную версию Office 2010. В 64-разрядной версии Office 2010 не предусмотрены 64-разрядные версии стандартных элементов управления.

Совместимость интерфейсов API

Сочетание VBA и библиотек типов предоставляет множество возможностей для создания приложений Microsoft Office. Однако иногда следует взаимодействовать напрямую с операционной системой и другими компонентами компьютера, например, при управлении памятью или процессами, при работе с интерфейсом пользователя (окнами и элементами управления) или при изменении реестра Windows. В этих случаях лучше всего использовать внешние функции, встроенные в библиотеки DLL. В VBA это возможно с помощью вызовов API с использованием операторов Declare.

Примечание

Майкрософт предоставляет файл Win32API.txt, который содержит 1500 операторов Declare и средство для копирования и вставки оператора Declare в код. Но эти операторы предназначены для 32-разрядных систем, и их нужно преобразовать в 64-разрядные операторы, используя сведения, представленные далее в этой статье. Компиляция существующих операторов Declare в 64-разрядной версии VBA будет невозможна, пока они не будут помечены как безопасные для нее с помощью атрибута PtrSafe. Примеры таких преобразований можно найти на веб-сайте специалиста MVP по Excel Яна Карела Питерсе (Jan Karel Pieterse) по адресу http://www.jkp-ads.com/articles/apideclarations.asp .

В статье Руководство пользователя для инспектора совместимости кода Microsoft Office описано полезное средство для проверки использования (в случае необходимости) атрибута PtrSafe и соответствующего типа возвращаемого значения в синтаксисе операторов Declare для интерфейса API.

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

Public/Private Declare Sub SubName Lib "LibName" Alias "AliasName" (argument list) Public/Private Declare Function FunctionName Lib "Libname" alias "aliasname" (argument list) As Type

Функция SubName или FunctionName заменяется фактическим именем процедуры в DLL-файле и представляет имя, которое используется при вызове процедуры в коде VBA. Можно также указать аргумент AliasName для имени процедуры, если это необходимо. Имя DLL-файла, который содержит вызываемую процедуру, следует за ключевым словом Lib . И, наконец, список аргументов содержит параметры и типы данных, которые следует передать процедуре.

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

Declare Function RegOpenKeyA Lib "advapi32.dll" (ByVal Key As Long, ByVal SubKey As String, NewKey As Long) As Long

Запись Windows.h (дескриптор окна) для функции RegOpenKeyA выглядит следующим образом.

LONG RegOpenKeyA (HKEY hKey, LPCSTR lpSubKey, HKEY *phkResult);

В Microsoft Visual C и Microsoft Visual C++ предыдущий пример компилируется без ошибок для 32-разрядной и 64-разрядной версии. Это происходит потому, что HKEY определен как указатель, размер которого отражает размер памяти платформы, в которой компилируется код.

В предыдущих версиях VBA не было определенного типа данных указателя, поэтому использовался тип Long. Так как тип данных Long всегда 32-разрядный, при использовании в системе с 64-разрядной памятью старшие 32 разряда могут усекаться, или запись может происходить в другие адреса памяти. Обе этих ситуации могут привести к непредвиденному поведению или сбою системы.

Чтобы устранить эту проблему, в VBA теперь есть настоящий тип данных указателя : LongPtr. Этот новый тип данных позволяет записывать оператор Declare правильно:

Declare PtrSafe Function RegOpenKeyA Lib "advapire32.dll" (ByVal hKey as LongPtr, ByVal lpSubKey As String, phkResult As LongPtr) As Long

Этот тип данных и новый атрибут PtrSafe позволяют использовать оператор Declare в 32- и 64-разрядных системах. Атрибут PtrSafe показывает компилятору VBA, что оператор Declare предназначен для 64-разрядной версии Office 2010. Без этого атрибута при использовании оператора Declare в 64-разрядной системе возникнет ошибка компиляции. Обратите внимание, что атрибут PtrSafe в 32-разрядной версии Office 2010 необязателен. Это позволяет существующим операторам Declare работать как обычно.

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

Описание

Квалификатор

Обозначает, что оператор Declare совместим с 64-разрядными системами. Этот атрибут обязателен для 64-разрядных систем.

Тип данных

Тип данных переменной, состоящей из 4 байт в 32-разрядных версиях и из 8 байт в 64-разрядных версиях Office 2010. Это рекомендуемый способ объявления указателя или дескриптора в новом коде, а также в старом коде, если он будет выполняться в 64-разрядной версии Office 2010. Эта возможность поддерживается только в среде выполнения VBA 7 в 32- и 64-разрядных системах. Обратите внимание, что этой переменной можно назначать числовые значения, но не числовые типы.

Тип данных

Это 8-байтовый тип данных, доступный только в 64-разрядных версиях Office 2010. Этому типу можно назначать числовые значения, но не числовые типы (чтобы избежать усечения).

Оператор преобразования

Преобразует простое выражение в тип данных LongPtr.

Оператор преобразования

Преобразует простое выражение в тип данных LongLong.

Преобразователь вариантов. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

Преобразователь объектов. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

Преобразователь строк. Возвращает тип LongPtr для 64-разрядных версий и тип Long для 32-разрядных версий (4 байта).

В следующем примере показано, как использовать эти элементы в операторе Declare.

Declare PtrSafe Function RegOpenKeyA Lib "advapi32.dll" (ByVal Key As LongPtr, ByVal SubKey As String, NewKey As LongPtr) As Long

Предполагается, что операторы Declare без атрибута PtrSafe не совместимы с 64-разрядной версией Office 2010.

Как было указано ранее, есть две новые константы для условной компиляции: VBA7 и Win64. Для обеспечения обратной совместимости с предыдущими версиями Microsoft Office используется константа VBA7 (это более распространено), чтобы не допустить использование 64-разрядного кода в более ранних версиях Microsoft Office. Если код для 32- версии отличается от такого же кода для 64-разрядной версии (например, для вызова математического интерфейса API в случае 64-разрядной версии используется LongLong, а в случае 32-разрядной версии - Long), нужно использовать константу Win64. В следующем примере кода показано использование этих двух констант.

#if Win64 then Declare PtrSafe Function MyMathFunc Lib "User32" (ByVal N As LongLong) As LongLong #else Declare Function MyMathFunc Lib "User32" (ByVal N As Long) As Long #end if #if VBA7 then Declare PtrSafe Sub MessageBeep Lib "User32" (ByVal N AS Long) #else Declare Sub MessageBeep Lib "User32" (ByVal N AS Long) #end if

Подводя итоги, можно сказать, что при написании 64-разрядного кода, который будет использоваться в предыдущих версиях Microsoft Office, следует применять константу условной компиляции VBA7. Однако при написании 32-разрядного кода в Office 2010 он работает как и в предыдущих версиях Microsoft Office без применения константы компиляции. Если требуется обеспечить использование 32-разрядных операторов для 32-разрядных версий и 64-разрядных операторов для 64-разрядных версий, лучше всего использовать константу условной компиляции Win64.

Использование атрибутов условной компиляции

Старый код VBA

Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type

Новый код VBA

#if VBA7 then " VBA7 Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As LongPtr pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As LongPtr lParam As LongPtr iImage As Long End Type #else " Downlevel when using previous version of VBA7 Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long Public Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type #end if Sub TestSHBrowseForFolder () Dim bInfo As BROWSEINFO Dim pidList As Long bInfo.pidlRoot = 0& bInfo.ulFlags = &H1 pidList = SHBrowseForFolder(bInfo) End Sub

Вопросы и ответы

Ниже приведены вопросы и ответы по 32- и 64-разрядной версиям Microsoft Office.

    Когда следует использовать 64-разрядную версию Microsoft Office?
    В основном это зависит от того, какое ведущее приложение используется (Excel, Word и т. д.). Например, приложение Excel в 64-разрядной версии Microsoft Office может обрабатывать листы гораздо больших размеров.

    Можно ли устанавливать 64- и 32-разрядную версии Microsoft Office одновременно?
    Нет.

    Когда следует преобразовывать параметры Long в LongPtr?
    Сведения функциях, которые нужно вызвать, можно найти в документации по API Windows на сайте MSDN. Маркеры и указатели должны быть преобразованы в параметр LongPtr. Например, в документации по указана такая подпись:

    LONG WINAPI RegOpenKeyEx(__in HKEY hKey, __in_opt LPCTSTR lpSubKey, __reserved DWORD ulOptions, __in REGSAM samDesired, __out PHKEY phkResult);

    Определение параметров:

    В документе Win32API_PtrSafe.txt оператор Declare определяется так:

    Declare PtrSafe Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As LongPtr, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As LongPtr) As Long

    Следует ли преобразовывать указатели и маркеры в структуры?
    Да. См. сведения о типе MSG в файле Win32API_PtrSafe.txt:

    Type MSG hwnd As LongPtr message As Long wParam As LongPtr lParam As LongPtr time As Long pt As POINTAPI End TypeF

    Когда следует использовать функции strptr, varpt и objptr?
    Эти функции используются для получения указателей на строки, переменные и объекты соответственно. В 64-разрядной версии Microsoft Office эти функции будут возвращать 64-разрядный параметр LongPtr, который может быть передан операторам Declare. Использование этих функций осталось таким же, как и в предыдущих версиях VBA. Единственное различие состоит только в том, что теперь они возвращают параметр LongPtr.

Заключение

Добавление 64-разрядной версии Office 2010 позволяет перемещать большие объемы данных и повышать производительность. При написании 32-разрядного кода можно использовать 64-разрядную версию Microsoft Office без каких-либо изменений. Но при написании 64-разрядного кода следует убедиться, что код содержит определенные ключевые слова и константы условной компиляции, чтобы обеспечить его обратную совместимость с предыдущими версиями Microsoft Office и выполнение правильного кода при совмещении 32- и 64-разрядных кодов.

Дополнительные ресурсы

Дополнительные сведения об операторах Declare см. в следующих источниках.



Рекомендуем почитать

Наверх