Click to Rate and Give Feedback
MSDN
MSDN Library
Office Development
Office 2010
Technical Articles
 Compatibility Between the 32-bit an...
Compatibility Between the 32-bit and 64-bit Versions of Office 2010

Summary: For customers working with 2GB or more of data, Microsoft Office 2010 is now available in a 64-bit version. This article discusses issues around the compatibility of the 32-bit version with the new 64-bit version and legacy 32-bit Office applications and their solutions. (7 Printed Pages)

Applies to:   Microsoft Office 2010

Published:   March 2010

Provided by:   Frank Rice, Microsoft Corporation

Contents

Introducing the 32-bit and 64-bit Versions of Microsoft Office 2010

The Microsoft Office 2010 system is available in both 32-bit and 64-bit versions. The 64-bit version enables you to work with much larger sets of data. This need is especially true when working with large numbers in Microsoft Excel 2010.

With the introduction of the new 64-bit version of Microsoft Office 2010, a new version of Microsoft Visual Basic for Applications (VBA), known as Microsoft Visual Basic for Applications 7.0 (VBA 7), is being released to work with both 32-bit and 64-bit applications. It is important to note that the changes addressed in this article apply only to the 64-bit version of Microsoft Office 2010. Using the 32-bit version of Office 2010 enables you to use solutions built in previous versions of Microsoft Office without modification.

note Note:

In a default installation of Office 2010, the 32-bit version is installed, even on 64-bit systems. You must explicitly select the Office 2010 64-bit version installation option.

In VBA 7, you must update existing Windows Application Programming Interface (API) statements (Declare statements) to work with the 64-bit version. Additionally, you must update address pointers and display window handles in user-defined types that are used by these statements. This is discussed in more detail in this article as well as compatibility issues between the 32-bit and 64-bit versions of Office 2010 and suggested solutions.

Comparing 32-Bit Systems to 64-Bit Systems

Applications built with the 64-bit version of Office 2010 can reference larger address spaces, and therefore provide the opportunity to use more physical memory than ever, potentially reducing the overhead spent moving data in and out of physical memory.

In addition to referring to specific locations (also known as pointers) in physical memory that an application uses to store data or to store programming instructions, you can also use addresses to reference display window identifiers (known as handles). Depending on whether you are using a 32-bit or 64-bit system determines the size (in bytes) of the pointer or handle.

There are two fundamental issues when you run existing solutions with the 64-bit version of Office 2010:

  • Native 64-bit processes in Office 2010 cannot load 32-bit binaries. This is expected to be a common issue when you have existing Microsoft ActiveX controls and existing add-ins,

  • VBA previously did not have a pointer data type and because of this, developers used 32-bit variables to store pointers and handles. These variables now truncate 64-bit values returned by API calls when using Declare statements.

Introducing the VBA 7 Code Base

VBA 7 is a new code base, replacing the earlier version of VBA. VBA 7 exists for both the 32-bit and 64-bit versions of Office 2010. It provides two conditional compilation constants: VBA7 and Win64. The VBA7 constant helps ensure the backward compatibility of your code by testing whether your application is using VBA 7 or the previous version of VBA. The Win64 constant is used to test whether code is running as 32-bit or as 64-bit. Both of these compilation constants are demonstrated later in this article.

With certain exceptions shown elsewhere in this article, the macros in a document (this also includes workbook and presentations) that have worked by using the 32-bit version of that application will work when the document is loaded in the 64-bit version of the same application.

ActiveX Control and COM Add-in Compatibility

Existing 32-bit ActiveX controls, both third-party and Microsoft-supplied, are not compatible with the 64-bit version of Office 2010. For ActiveX controls and COM objects, there are three possible solutions:

  • If you have the source code, you can generate a 64-bit version yourself,

  • You can contact the vendor for an updated version,

  • You can search for an alternative solution.

Native 64-bit processes in Office 2010 cannot load 32-bit binaries. This includes the common controls of MSComCtl (TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListViews, ImageList, Slider, ImageComboBox) and the controls of MSComCt2 (Animation, UpDown, MonthView, DateTimePicker, FlatScrollBar).These controls were installed by previous versions of Microsoft Office and are installed by 32-bit Office 2010. An alternative must be found for existing Microsoft Office VBA solutions that utilize these controls when the code is migrated to 64-bit Office 2010. 64-bit Office 2010 does not provide 64-bit versions of the Common Controls.

Application Programming Interface Compatibility

The combination of VBA and type libraries gives you lots of functionality to create Microsoft Office applications. However, sometimes you must communicate directly with the computer’s operating system and other components such as when you manage memory or processes, when working with the user interface such as windows and controls, or when modifying the Windows registry. In these scenarios, your best option is to use one of the external functions that are embedded in dynamic linked library (DLL) files. You do this in VBA by making API calls using Declare statements.

note Note:

Microsoft provides a Win32API.txt file which contains 1,500 Declare statements and a tool to cut and paste the Declare statement that that you want into your code. However, these statements are for 32-bit systems and must be converted to 64-bit by using the information discussed later in this article. Existing Declare statements will not compile in 64-bit VBA until they have been marked as safe for 64-bit by using the PtrSafe attribute. You can find samples of this type of conversion at Excel MVP Jan Karel Pieterse’s Web site at: http://www.jkp-ads.com/articles/apideclarations.asp.

The Office Code Compatibility Inspector user’s guide is a useful tool to inspect the syntax of API Declare statements for the PtrSafe attribute, if needed, and the appropriate return type.

Declare statements resemble one of the following, depending whether you are calling a subroutine (which has no return value) or a function (which does have a return value).

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

The SubName function or FunctionName function is replaced by the actual name of the procedure in the DLL file and represents the name that is used when the procedure is called from VBA code. You can also specify an AliasName argument for the name of the procedure, if desired. The name of the DLL file that contains the procedure being called follows the Lib keyword. And finally, the argument list contains the parameters and the data types that must be passed to the procedure.

The following Declare statement opens a subkey in the Windows registry and replaces its value.

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

The Windows.h (window handle) entry for the RegOpenKeyA function is as follows:

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

In Microsoft Visual C and Microsoft Visual C++, the previous example compiles correctly for both 32-bit and 64-bit. This is because HKEY is defined as a pointer, whose size reflects the memory size of the platform that the code is compiled in.

In previous versions of VBA, there was no specific pointer data type so the Long data type was used. And because the Long data type is always 32-bits, this breaks when used on a system with 64-bit memory because the upper 32-bits may be truncated or may overwrite other memory addresses. Either of these situations can result in unpredictable behavior or system crashes.

To resolve this, VBA now contains a true pointer data type: LongPtr. This new data type enables you to write the original Declare statement correctly as:

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

This data type and the new PtrSafe attribute enable you to use this Declare statement on either 32-bit or 64-bit systems. The PtrSafe attribute indicates to the VBA compiler that the Declare statement is targeted for the 64-bit version of Office 2010. Without this attribute, using the Declare statement in a 64-bit system will result in a compile-time error. Note that the PtrSafe attribute is optional on the 32-bit version of Office 2010. This enables existing Declare statements to work as they always have.

The following table provides more information on the new qualifier and data type already discussed as well as another data type, two conversion operators, and three functions.

 

Type Item Description

Qualifier

PtrSafe

Indicates that the Declare statement is compatible with 64-bits. This attribute is mandatory on 64-bit systems.

Data Type

LongPtr

A variable data type which is a 4-bytes data type on 32-bit versions and an 8-byte data type on 64-bit versions of Office 2010. This is the recommended way of declaring a pointer or a handle for new code but also for legacy code if it has to run in the 64-bit version of Office 2010. It is only supported in the VBA 7 runtime on 32-bit and 64-bit. Note that you can assign numeric values to it but not numeric types.

Data Type

LongLong

This is an 8-byte data type which is available only in 64-bit versions of Office 2010. You can assign numeric values but not numeric types (to avoid truncation).

Conversion Operator

CLngPtr

Converts a simple expression to a LongPtr data type.

Conversion Operator

CLngLng

Converts a simple expression to a LongLong data type.

Function

VarPtr

Variant converter. Returns a LongPtr on 64-bit versions, and a Long on 32-bit versions (4 bytes).

Function

ObjPtr

Object converter. Returns a LongPtr on 64-bit versions, and a Long on 32-bit versions (4 bytes).

Function

StrPtr

String converter. Returns a LongPtr on 64-bit versions, and a Long on 32-bit versions (4 bytes).

The follow example shows how to use some of these items in a Declare statement.

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

Note that Declare statements without the PtrSafe attribute are assumed not to be compatible with the 64-bit version of Office 2010.

As stated earlier, there are two new conditional compilation constants: VBA7 and Win64. To ensure backward compatibility with previous versions of Microsoft Office, you use the VBA7 constant (this is the more typical case) to prevent 64-bit code from being used in the earlier version of Microsoft Office. For code that is different between the 32-bit version and the 64-bit version, such as calling a math API which uses LongLong for its 64-bit version and Long for its 32-bit version, you use the Win64 constant. The following code demonstrates the use of these two constants.

VBA
#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

To summarize, if you write 64-bit code and intend to use it in previous versions of Microsoft Office, you will want to use the VBA7 conditional compilation constant. However, if you write 32-bit code in Office 2010, that code works as is in previous versions of Microsoft Office without the need for the compilation constant. If you want to ensure that you are using 32-bit statements for 32-bit versions and 64-bit statements for 64-bit versions, your best option is to use the Win64 conditional compilation constant.

Using Conditional Compilation Attributes

The following code is an example of legacy VBA code that needs to be updated. Notice the data types in the legacy code that are updated to use LongPtr because they refer to handles or pointers

Legacy VBA Code

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

New VBA Code

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

Frequently Asked Questions

The following are frequently asked questions that relate to the 32-bit and 64-bit versions of Microsoft Office.

When should I use the 64-bit version of Microsoft Office?
This is more a matter of which host application (Excel, Word, and so forth) you are using. For example, Excel is able to handle much larger worksheets with the 64-bit version of Microsoft Office.
Can I install 64-bit and 32-bit versions of Microsoft Office side-by-side?
No.
When should I convert Long parameters to LongPtr?
You need to check the Windows API documentation on the Microsoft Developers Network for the function you want to call. Handles and pointers need to be converted to LongPtr. As an example, the documentation for RegOpenKeyA provides the following signature:
C#
LONG WINAPI RegOpenKeyEx(
  __in        HKEY hKey,
  __in_opt    LPCTSTR lpSubKey,
  __reserved  DWORD ulOptions,
  __in        REGSAM samDesired,
  __out       PHKEY phkResult
);
The parameters are defined as:

 

Parameter Description

hKey [in]

A handle to an open registry key.

lpSubKey [in, optional]

The name of the registry subkey to be opened.

ulOptions

This parameter is reserved and must be zero.

samDesired [in]

A mask that specifies the desired access rights to the key.

phkResult [out]

A pointer to a variable that receives a handle to the opened key.

In Win32API_PtrSafe.txt, the Declare statement is defined as:
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
Should I convert pointers and handles in structures?
Yes. See the MSG type in 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
When should I use strptr, varpt, and objptr?
You should use these functions to retrieve pointers to strings, variables and objects, respectively. On the 64-bit version of Microsoft Office, these functions will return a 64-bit LongPtr, which can be passed to Declare statements. The use of these functions has not changed from previous versions of VBA. The only difference is that they now return a LongPtr.

Conclusion

The addition of a 64-bit version of Office 2010 enables you to move more data around for increased capability. When writing 32-bit code, you can use the 64-bit version of Microsoft Office without any changes. However, when you write 64-bit code, you should ensure that your code contains specific keywords and conditional compilation constants to ensure that the code is backward compatible with earlier version of Microsoft Office, and that the correct code is being executed if you mix 32-bit and 64-bit code.

Additional Resources

For more information about Declare statements, see the following resources:

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Content suggestion      Jan Karel Pieterse ... Thomas Lee   |   Edit   |   Show History
Hi,
Good article, albeit confusing on some parts.
One thing that jumps out to me is that we need a comprehensive overview of API statements which shows us (for each declaration) exactly which types they need as arguments and what they return. Most VBA programmers are used to copying the declarations into their projects without having proper knowledge on whether a variable is a Long type or a pointer type. There is no way to discern this very important difference from the declarations themselves.

##EDIT 2010-01-29##

I have started a page on my site to gather these declarations centrally, so everyone can benefit (and add):


##END EDIT##

Jan Karel Pieterse
Excel MVP
How large is 'large amounts of data'?      msrichards ... Thomas Lee   |   Edit   |   Show History
Who needs the 64 bit version? The article simply says 'large amounts of data' - I'd like to know what that means.
Tags What's this?: 64 (x) Add a tag
Flag as ContentBug
No going back      seanm413 ... Thomas Lee   |   Edit   |   Show History
Once you cross over into the VBA7 world there is no going back. when I try to use the Ptrsafe or other #if VBA7 functions in the VBA6 (office 2007) editor, it generates a compiler error.

So if you want to work in 64-bit you have to edit is Office 2010's VBA7 Editor. Not the best situation I think.
Tags What's this?: Add a tag
Flag as ContentBug
513: <ConsultaPlana>: - 2147024809:Argumento no válido      Renato2012 ... Thomas Lee   |   Edit   |   Show History
I have a problem with the adaptation of my source code...

This sentence: "Formulario.Controls.Add "MSMask.MaskEdBox.1", "xxxx"" throw the 2147024809 error

SomeOne could help me

Thanks!
Tags What's this?: Add a tag
Flag as ContentBug
ActiveX 64-bits      Astarian   |   Edit   |   Show History
In the future, can we espected a 64-bits version of mscomtl*.* or must we forgoten treeviews and others controls ?

Thank.

Tags What's this?: Add a tag
Flag as ContentBug
Compatibility Between the 32-bit and 64-bit Versions of Office 2010?      Sizwe Ngc   |   Edit   |   Show History
Hello just recently I downloaded Microsoft Office 2010 32-bit trial version installer.When my download completed tried install but it failed,instead it gave me an error message pity I forgot it as I deleted the installer right there and then.Anyway I just want to know that when downloading the Trial version should I download 64-bit version since my OS is windows 7 64-bit service pack one?
Tags What's this?: Add a tag
Flag as ContentBug
Compatibility Between the 32-bit and 64-bit Versions of Office 2010?      Sizwe Ngc   |   Edit   |   Show History
Hello just recently I downloaded Microsoft Office 2010 32-bit trial version installer.When my download completed tried install but it failed,instead it gave me an error message pity I forgot it as I deleted the installer right there and then.Anyway I just want to know that when downloading the Trial version should I download 64-bit version since my OS is windows 7 64-bit service pack one?
Tags What's this?: Add a tag
Flag as ContentBug
Possible omission for Server 2008 R2      RobX   |   Edit   |   Show History
My client uses Citrix running on Server 2003 and Office 2007
The Windows API work perfectlly.

Moving this over to a Windows Server 2008 Office 2010 (32 bit) all of the Windows API declares fail

Your article seems to blur the 32/64 bit Server with 32/64 bit Office.
It would be much more useful if the steps or requirements for Server 2008 were described regarding Windows API calls.
Tags What's this?: Add a tag
Flag as ContentBug
Mid,Space functions are not working      RashidKhan46211   |   Edit   |   Show History
Hi,

I have migrated my code from Word 32bit to 64bit but now I am facing new issue, Existing functions like Mid, Space are giving Comple Time Error.

Please advise

Thanking you

Rashid Khan
Tags What's this?: Add a tag
Flag as ContentBug
How to create single setup for both 32 bit and 64 bit machine?      Ashutosh Kumar Gupta   |   Edit   |   Show History
I have created vsto addins for word and powerpoint using vs2010. Now i want to create a single setup for both 32 bit and 64 bit machine. Is it possible? if yes, then how it will be created. And how the setup will run according to machine type i.e. 32 bit and 64 bit.
Tags What's this?: Add a tag
Flag as ContentBug
Query regarding VB controls used in VBA      techno_savvy81   |   Edit   |   Show History
Hi,

We develop some Excel macro forms which uses VB controls like text box, combo box etc. These forms are developed in excel 2003. When we open these forms in Excel 2010, all the controls get gathered at one place overlapping each other. Also its length gets increased automatically. Specially when we hide and unhide the rows using macros,

Is this a compatibility issue? Can anybody suggest solution for the same?
Tags What's this?: Add a tag
Flag as ContentBug
MSComctl in 64 bit.      Pathagoras   |   Edit   |   Show History
Native 64-bit processes in Office 2010 cannot load 32-bit binaries. This includes the common controls of MSComCtl (TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListViews, ImageList, Slider, ImageComboBox) and the controls of MSComCt2 (Animation, UpDown, MonthView, DateTimePicker, FlatScrollBar).These controls were installed by previous versions of Microsoft Office and are installed by 32-bit Office 2010. An alternative must be found for existing Microsoft Office VBA solutions that utilize these controls when the code is migrated to 64-bit Office 2010. 64-bit Office 2010 does not provide 64-bit versions of the Common Controls.

Okay. I understand what you are saying, but why are you saying it? Why isn't Microsoft developing the fix? Somewhere on this or another page hosted by microsoft, you say to the reader who program has stopped working "Contact the vendor." Well, you are the vendor of mscomctl. So I am contacting you. How on earth can you in good conscience not be working hard at making mscomctl in a 64 bit version? Many people buy Word in great part for the add-ins that can run along side of them (whether self developed macros or off the shelf products). Do you not want that business any more??? Or just so arrogant that you don't need it?
Tags What's this?: Add a tag
Flag as ContentBug
having file i/o problems with 64-bit version of office 2010 excel      sambo8   |   Edit   |   Show History
The problem is that the vba programs will stall out when I open a very large file--the task manager will say 'not running' and stop. I have tried many ways to correct the problem, including adding a wait routine and clicking the escape key to get it to run. Do you have an example random file get and put routine that will fix the problem? This was not a problem with the 32-bit routines, just with the 64-bit file i/o routines. Surely you must have 64-bit file i/o routines that were tested with office 2010 excel 64-bit and windows 7 ultimate 64-bit.
Tags What's this?: Add a tag
Flag as ContentBug
Blackberry issue - Need to downgrade to 32-bit Outlook      DFogel   |   Edit   |   Show History
Hello. I loaded the Office 2010 Suite for 64-bit and unfortunately learned that the Blackberry Tour will not sync with this version of Outlook. Is there a reasonably safe way to save the Outlook pst file, eliminate Outlook 64-bit, and load Outlook 32-bit (and then obviously import the Outlook pst file) without any major fanfare? If so, would you please let me know how?

Thank you!
Tags What's this?: Add a tag
Flag as ContentBug
Very slow query performance of Access 2010 32 bit on a 64 bit computer      Dan Stern Data Systems   |   Edit   |   Show History
I have found that some select queries based on inner joins of indexed tables take more than a minute to execute in Access 2010 32-bit when running on a Windows 7 64-bit machine, but take only a second to run in Access 2007 or in Access 2010 32-bit on a 32-bit machine. See http://social.answers.microsoft.com/Forums/en-US/addbuz/thread/53d97477-e938-45db-86b8-5cac15eeed87 for someone else with the same experience. I was going to recommend to my clients that they install Access 2010 64-bit on all 64-bit machines, but in light of the problems with Office 64-bit mentioned above, I'm not so sure.
Tags What's this?: Add a tag
Flag as ContentBug
How long will VBA be supported      Barry VBA   |   Edit   |   Show History
I have been using VBA for a long time now. In 2007 Microsoft were talking about replacing VBA with VSTO, but that seems to have fallen by the wayside. Can anyone give me a definitive answer on, first, how long VBA will be supported and, second, whether there will always be a VBA editor in Office apps.
Thanks
Tags What's this?: Add a tag
Flag as ContentBug
Access 32 and 64 bit incompatability      David The Lost   |   Edit   |   Show History
I wrote an application that uses Access. When the app is installed on 64 bit machines it works fine with the 64 bit run-time library on that machine, but does NOT work on the 64-bit machine with the 32-bit library installed. And yes, my app is a 32-bit VS C# application.

Any ideas?
Tags What's this?: Add a tag
Flag as ContentBug
VBA7 convertor?      JFK555   |   Edit   |   Show History
Can't Microsoft create an online VBA to VBA7 convertor? I paste in VBA code, it converts it to VBA7.
Tags What's this?: Add a tag
Flag as ContentBug
Disgruntled!      selinda ... Esther Fan   |   Edit   |   Show History
Im getting very disgusted with Microsoft. What in the *** is the sence of creating an IE 32 and 64? If the 64 wont do all the things the 32 will how bout make one that will. At one point all I had to do is launch one browser and I did everything I needed to do on the net from right there! With this new windows 7 now I need 32 to do this and 64 to do that and when neither of them will work Im told to try Mozilla. Look if it aint broke DONT fix it! Can I get one browser PLEASE!


Esther Fan, MSFT: Thank you for your comments. 

To submit a bug or suggestion, please use Microsoft Connect: https://connect.microsoft.com
You can also try the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
Microsoft Answers: http://social.answers.microsoft.com/Forums/en-US/categories

Tags What's this?: Add a tag
Flag as ContentBug
Problems referencing a .NET assembly      newyuppie ... Esther Fan   |   Edit   |   Show History
I'm getting an error 429: ActiveX component can't create object, when referencing a Visual Studio 2010 VB.NET library from Excel 2010 Beta. Is this a bug? Can't find info anywhere.


Esther Fan, MSFT: Thank you for your comments. For this kind of feedback, questions, or issues, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office

MSDN: http://social.msdn.microsoft.com/Forums/en-US/categories
Tags What's this?: Add a tag
Flag as ContentBug
Installing Office home & business 2010      Paisley77 ... Esther Fan   |   Edit   |   Show History
I just installed today and I am not able to open Outlook. A box comes up that says: Microsoft Exchange Server:
Mailbox: owner
How do I know what the Mircosoft Exchange Server is???
Please help me!!


Esther Fan, MSFT: Thank you for your comments. For this kind of feedback, questions, or issues, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office
Tags What's this?: Add a tag
Flag as ContentBug
Setup Errors      JayT53 ... Esther Fan   |   Edit   |   Show History
I downloaded the Home &;; Teacher 2010 trial version and encountered setup errors. The error message said setup is unable to proceed due to the following error(s): To install and use this product, you must be running one of the following operating systems:
x86 platform
- Windows 7
- Windows Vista SP1
- Windows XP SP3
- Windows Server 2003 SP2

x64 platform
- Windows 7
- Windows Vista SP1
- Windows Server 2008

Correct the issue(s) listed above and re-run setup.

My computer is x32-bit with Windows XP Home Edition. I have had no problem with a Trial of Microsoft Office 2007.



Esther Fan, MSFT: Thank you for your comments. For this kind of feedback, questions, or issues, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office
Tags What's this?: Add a tag
Flag as ContentBug
does the 64 bits language pack exist?      mcavallini ... Esther Fan   |   Edit   |   Show History

I use a 64 bit version of Office 10 and tried to install the Italian language pack (the one for spell checking and dictionary, not the interface). But couldn't because the pack (the only one offered at office.com/language) was 32 bits. Does anyone know if the 64 bits is available anywhere? And if it is not now when it will be?


Esther Fan, MSFT: Thank you for your comments. For this kind of feedback, questions, or issues, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office
Tags What's this?: Add a tag
Flag as ContentBug
wouldn't install      julesmour ... Esther Fan   |   Edit   |   Show History

I tried to download the MS office 2010 business version - it didn't install - downloaded but wouldn't install -my system only has the 32 bit - so then I tried to install the student version of Office - still wouldn't install. said I didn't have Vista or the type of Windows needed - I do have Vista. Obviously it must not be working properly. I wanted you to know that I did not receive the free trial.


Esther Fan, MSFT: Thank you for your comments. For this kind of feedback, questions, or issues, please use the following forums:

Microsoft Office: http://answers.microsoft.com/en-us/office


Tags What's this?: Add a tag
Flag as ContentBug
MS Office problems with opening OutlookEnter title here.      MS Office install problems ... Esther Fan   |   Edit   |   Show History

When I installed the program it seemed to only have problems after i attempted to open Outlook. After I clicked on Outlook the following appeared: Cannot start Microsoft Office Outlook. Unable to open the Outlook window. The set of folders could not be opened.

Does anyone have any suggestions for a fix?

Esther Fan, MSFT: Thank you for your comments. For these kinds of feedback or questions, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office

Tags What's this?: Add a tag
Flag as ContentBug
Problem with Office 2007 SP1 instalations      Omar E. Hernandez_1 ... Esther Fan   |   Edit   |   Show History

When I try install SP1 of Office 2007, I have the error unknown.

Somebody help me!!

Esther Fan, MSFT: Thank you for your comments. For these kinds of feedback or questions, please use the following forums:
Microsoft Office: http://answers.microsoft.com/en-us/office
Tags What's this?: Add a tag
Flag as ContentBug
Truely Horrible -- LongLong only in 64 bit version, no FlexiLong.      Anthony Berglas   |   Edit   |   Show History
Could you feed back to the developers that it is truely horrible that LongLong is only available in the 64 bit version. As developers, we want to write one version of the code, without too much #IF!. So please

* LongLong in 32 bit versions. This was always a basic ommission anyway.

* FlexiLong (say) that is 32 or 64 bits long depending on the version. (Analogous to LongPtr).

A comprahensive list of all the C++ types (HKEY etc.) and how they should now be declared in the various versions would be very helpful.

It could also be stated that "SafePtr" annotation does not actually make anything safe -- any errors in data types could produce weird, unreproduceable corruptions.
Tags What's this?: Add a tag
Flag as ContentBug
Office 2010 Student Pro download executable not recognized      CanisCanemEdit   |   Edit   |   Show History
I just purchased Office Student Professional and downloaded the only available executable. When I try to run it on XP64 or Win 7 (32) I get an error "not a 32 bit executable". The file name is X16-32007.exe. Help!
Tags What's this?: Add a tag
Flag as ContentBug
Thanks for your feedback      frice072050   |   Edit   |   Show History
I am getting clarification on your issues and will update the article when I have that information. Thanks for your patience.

Frank Rice
Tags What's this?: Add a tag
Flag as ContentBug
when to convert long to longPtr      TechVsLife2 ... Danyq28   |   Edit   |   Show History
Good but it would be much better to have a precise explanation as to when long parameters in the api need to be converted to longptr (pointers and handles ONLY -- not longs in structures), as well as when to use strptr varpt and objptr. Also presumably when longptr is used, parameters passed to the api should use clngptr.

Tags What's this?: Add a tag
Flag as ContentBug
"Anatomy of declare" link broken      TechVsLife2   |   Edit   |   Show History
"Anatomy of declare" link is not working
Can I run/install both versions at the same time?      K Zap   |   Edit   |   Show History
And if I could, would it matter which one I install first? And do I need to Run as Administrator to install correctly? please answer me back at kzap at boxbe dot com or through my Windows Live somehow kazpr86 at hotmail
Thank you so much
Tags What's this?: Add a tag
Flag as ContentBug
ERRORS Compatibility Between the 32-bit and 64-bit Versions of Office 2010      Perceff   |   Edit   |   Show History
Hi. I use 64 bit version of Excel. because I need to handle large amounts of data up to 400000 lines. Faced with the challenge of adapting the code for 32 bit and 64 bit systems. This Technical Article has helped to solve my problems, but I found a number of errors:
1. when correcting a code in 64 bit Excel in 32 bit Excel says file is broken and the file opens without any formatting. If corrections produce a 32 bit Excel, then all is well.
2. File with modified code for 64 bit Excel and for 32 bit Excel in 64 bit Excel opens without the established level of security. ie at the level of security "Disable all macros without notification" file all the same open.
When to use 64 bit / When not to use 64 bit?      Shasur   |   Edit   |   Show History
Surely there are compatibility issues. So When to use 64 bit / When not to use 64 bit?

Incorrect statement in the Conclusion?      greglovern ... Thomas Lee   |   Edit   |   Show History

Regarding this statement in the Conclusion:

> When writing 32-bit code, you can use the 64-bit version of Office without any changes. <

That seems to contradict the body of the article. According to the article, 32-bit code that uses handles or pointers, and works with Excel 2007 and earlier, won't work in 64-bit Excel without changes.

Greg

Typo      y2k4life ... Thomas Lee   |   Edit   |   Show History

VBA previously did not have a pointer data type and because of this, developers used 32-variables to store pointers and handles. These variables now truncate 64-bit quantities returned by API calls using Declare statements.

I believe in the above sentence it should be 32-bit variables not 32-variables.

Processing
© 2012 Microsoft. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker