Dll for excel 2010

Первым делом:

Скачайте библиотеку — скачать microsoft.office.interop.excel.dll

Затем:

Поместите microsoft.office.interop.excel.dll
в одну из следующих папок:

Если у вас 64-битная версия Windows, то поместите файл в:

«C:WindowsSysWOW64»

Если у вас 32-битная версия Windows, то поместите файл в:

«C:WindowsSystem32»

После этого

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

Всё равно выдаёт ошибку microsoft.office.interop.excel.dll
не был найден?

Тогда придётся установить этот файл вручную. Для этого:

Зайдите в меню «Пуск».

В строчке поиска введите «cmd». И запустите найденную программу от имени администратора.

В открывшемся окне введите «regsvr32 microsoft.office.interop.excel.dll
«.

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

Если что-то не понятно прочитайте более подробную инструкцию — как установить dll файл.

Скачать сейчас

Ваша операционная система:

Как исправить ошибку Microsoft.office.interop.excel.dll?

Прежде всего, стоит понять, почему microsoft.office.interop.excel.dll файл отсутствует и почему возникают microsoft.office.interop.excel.dll ошибки. Широко распространены ситуации, когда программное обеспечение не работает из-за недостатков в .dll-файлах.


What is a DLL file, and why you receive DLL errors?

DLL (Dynamic-Link Libraries) — это общие библиотеки в Microsoft Windows, реализованные корпорацией Microsoft. Файлы DLL не менее важны, чем файлы с расширением EXE, а реализовать DLL-архивы без утилит с расширением .exe просто невозможно.:


Когда появляется отсутствующая ошибка Microsoft.office.interop.excel.dll?

Если вы видите эти сообщения, то у вас проблемы с Microsoft.office.interop.excel.dll:

  • Программа не запускается, потому что Microsoft.office.interop.excel.dll отсутствует на вашем компьютере.
  • Microsoft.office.interop.excel.dll пропала.
  • Microsoft.office.interop.excel.dll не найдена.
  • Microsoft.office.interop.excel.dll пропала с вашего компьютера. Попробуйте переустановить программу, чтобы исправить эту проблему.
  • «Это приложение не запустилось из-за того, что Microsoft.office.interop.excel.dll не была найдена. Переустановка приложения может исправить эту проблему.»

Но что делать, когда возникают проблемы при запуске программы? В данном случае проблема с Microsoft.office.interop.excel.dll. Вот несколько способов быстро и навсегда устранить эту ошибку.:


метод 1: Скачать Microsoft.office.interop.excel.dll и установить вручную

Прежде всего, вам нужно скачать Microsoft.office.interop.excel.dll на ПК с нашего сайта.

  • Скопируйте файл в директорию установки программы после того, как он пропустит DLL-файл.
  • Или переместить файл DLL в директорию вашей системы (C:WindowsSystem32, и на 64 бита в C:WindowsSysWOW64).
  • Теперь нужно перезагрузить компьютер.

Если этот метод не помогает и вы видите такие сообщения — «microsoft.office.interop.excel.dll Missing» или «microsoft.office.interop.excel.dll Not Found,» перейдите к следующему шагу.

Microsoft.office.interop.excel.dll Версии

Версия

биты

Компания

Размер

12.0.6600.1000

32 bit

Microsoft Corporation

1.22 MB

Версия

биты

Компания

Размер

12.0.6425.1000

32 bit

Microsoft Corporation

1.22 MB


метод 2: Исправление Microsoft.office.interop.excel.dll автоматически с помощью инструмента для исправления ошибок

Как показывает практика, ошибка вызвана непреднамеренным удалением файла Microsoft.office.interop.excel.dll, что приводит к аварийному завершению работы приложений. Вредоносные программы и заражения ими приводят к тому, что Microsoft.office.interop.excel.dll вместе с остальными системными файлами становится поврежденной.

Вы можете исправить Microsoft.office.interop.excel.dll автоматически с помощью инструмента для исправления ошибок! Такое устройство предназначено для восстановления поврежденных/удаленных файлов в папках Windows. Установите его, запустите, и программа автоматически исправит ваши Microsoft.office.interop.excel.dll проблемы.

Если этот метод не помогает, переходите к следующему шагу.


метод
3: Установка или переустановка пакета Microsoft Visual C ++ Redistributable Package

Ошибка Microsoft.office.interop.excel.dll также может появиться из-за пакета Microsoft Visual C++ Redistribtable Package. Необходимо проверить наличие обновлений и переустановить программное обеспечение. Для этого воспользуйтесь поиском Windows Updates. Найдя пакет Microsoft Visual C++ Redistributable Package, вы можете обновить его или удалить устаревшую версию и переустановить программу.

  • Нажмите клавишу с логотипом Windows на клавиатуре — выберите Панель управления — просмотрите категории — нажмите на кнопку Uninstall.
  • Проверить версию Microsoft Visual C++ Redistributable — удалить старую версию.
  • Повторить деинсталляцию с остальной частью Microsoft Visual C++ Redistributable.
  • Вы можете установить с официального сайта Microsoft третью версию редистрибутива 2015 года Visual C++ Redistribtable.
  • После загрузки установочного файла запустите его и установите на свой ПК.
  • Перезагрузите компьютер после успешной установки.

Если этот метод не помогает, перейдите к следующему шагу.


метод
4: Переустановить программу

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

Если этот метод не помогает, перейдите к следующему шагу.


метод
5: Сканируйте систему на наличие вредоносного ПО и вирусов

System File Checker (SFC) — утилита в Windows, позволяющая пользователям сканировать системные файлы Windows на наличие повреждений и восстанавливать их. Данное руководство описывает, как запустить утилиту System File Checker (SFC.exe) для сканирования системных файлов и восстановления отсутствующих или поврежденных системных файлов (включая файлы .DLL). Если файл Windows Resource Protection (WRP) отсутствует или поврежден, Windows может вести себя не так, как ожидалось. Например, некоторые функции Windows могут не работать или Windows может выйти из строя. Опция «sfc scannow» является одним из нескольких специальных переключателей, доступных с помощью команды sfc, команды командной строки, используемой для запуска System File Checker. Чтобы запустить её, сначала откройте командную строку, введя «командную строку» в поле «Поиск», щелкните правой кнопкой мыши на «Командная строка», а затем выберите «Запустить от имени администратора» из выпадающего меню, чтобы запустить командную строку с правами администратора. Вы должны запустить повышенную командную строку, чтобы иметь возможность выполнить сканирование SFC.

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

В окне командной строки введите «sfc /scannow» и нажмите Enter на клавиатуре для выполнения этой команды. Программа System File Checker запустится и должна занять некоторое время (около 15 минут). Подождите, пока процесс сканирования завершится, и перезагрузите компьютер, чтобы убедиться, что вы все еще получаете ошибку «Программа не может запуститься из-за ошибки Microsoft.office.interop.excel.dll отсутствует на вашем компьютере.


метод 6: Использовать очиститель реестра

Registry Cleaner — мощная утилита, которая может очищать ненужные файлы, исправлять проблемы реестра, выяснять причины медленной работы ПК и устранять их. Программа идеально подходит для работы на ПК. Люди с правами администратора могут быстро сканировать и затем очищать реестр.

  • Загрузите приложение в операционную систему Windows.
  • Теперь установите программу и запустите ее. Утилита автоматически очистит и исправит проблемные места на вашем компьютере.

Если этот метод не помогает, переходите к следующему шагу.


Frequently Asked Questions (FAQ)

QКакая последняя версия файла microsoft.office.interop.excel.dll?

A12.0.6600.1000 — последняя версия microsoft.office.interop.excel.dll, доступная для скачивания

QКуда мне поместить microsoft.office.interop.excel.dll файлы в Windows 10?

Amicrosoft.office.interop.excel.dll должны быть расположены в системной папке Windows

QКак установить отсутствующую microsoft.office.interop.excel.dll

AПроще всего использовать инструмент для исправления ошибок dll

  • Remove From My Forums
  • Question

  • Is it possible to write a .dll file that allows Excel 2010 to send an outside program the values of certain cells, run the outside program with these values and generate new values to be placed back into the Excel spreadsheet? The outside program based off
    a fortran 77 code. I am proficient in VBA coding, yet I have not worked with .dll files very often. The only ones I’ve used before were with another outside program that calls upon a .dll file to generated Add-Ins for Excel. These Add-Ins act as additional
    functions that can be used within the spreadsheet (not the VBE). This new outside program is not so nice. I have to manually place the values of several cells in my spreadsheet into the program, then run it, then select some new values it calculates, and place
    them back into my spreadsheet which iterates new values for the whole spreadsheet within a certain tolerance.

    I am hoping I can get some examples of similar .dll codes that do something similar to what I wish to do. I also wouldn’t mind writing the .dll file in VBA (if this is at all possible). From what I understand, one must have access to a source code editor
    (which would be VBE I believe), a  compiler to turn source code into object code that is compatible with your hardware (not quite sure the equivalent to this, perhaps Visual Basic 6.0 would work?), and a linker to add code from static libraries, where
    used, and to create the executable DLL file (nearly completely lost here). Thanks in advance for any help in these regards!

Are you the one struggling with the Error in loading DLL in Excel 2010, then here check out what goes wrong with your Excel  2010 file.

Excel is a very popular and useful application of Microsoft office and just like that DLL is very essential in the Windows Operating system.

In the Windows operating system, the DLL files play a very important role.  This is having a huge potential value as it includes multiple codes and the procedures that are used for Windows programs.

This allows the program to use their relevant information at the same time.  Just like other files, DLL files are very susceptive to corruption and start showing errors.

Recently many users are found reporting there are getting Error in loading DLL in Excel 2010.  This is a very irritating error as users are unable to access the Excel application

But the good news is that there are certain tweaks that help you to fix Excel 2010 Error in loading DLL. But before further here check out some of the basic reason that causes loading DLL error also known as error 48.

What Is DLL Files And Purpose Of Using It?

DLL stands for dynamic link library this file is used for keeping several procedures and codes for the Windows programs. You can consider this file as an essential part of Windows OS.

When any Windows OS version gets installed along with that massive numbers DLL files also automatically get loaded. After this these DLL files are being used by other application programs.

All these DLL files are counted as integral part of system Windows registry. There are some DLL files available which are specifically used by the programs that install them. Whereas, some DLL files are merged with Windows OS for easy sharing with other applications. These DLL files contained data and functions are used by different applications programs to work smoothly.

It takes very less space in your PC memory. Though DLL files have so much benefits but it has several setbacks too.

How DLL Errors Occur?

Usually error in loading dll Excel arise when due to the installation of any software the new DLL files overwrites the previously existing DLL file.

Apart from this, many DLL errors also occur due to the removal or corruption of the DLL files.

This at the end results in following DLL errors: “The DLL file is missing” or “The DLL file is not found” or “Error in Loading DLL” etc.

When any newly installed software uses the older DLL file version then it generates dynamic link library errors.

Why Do DLL Errors Occur?

  • In the specified path location DLL file is missing.
  • At the installation time some DLL files are skipped.
  • Hardware damage leads to DLL file damages.
  • Presence of some orphan keys within the registry.
  • DLL files potential damage because of spyware infection.

What Problems Arises When Excel Error In Loading DLL Occurs?

  • Corrupted or Out-dated MDAC (Microsoft Data Access Components) files.
  • DLL error generates many system errors and malfunction which results in problem to start your PC.
  • Trojans and viruses also cause missing or load DLL errors like issues.
  • DLL files are already disabled by the program and thus it’s showing error in loading DLL files.
  • Application reorganizations also results in DLL errors.
  • When the 2 different application programs install their version of DLL files and all the programs fails to recognize their version. At that time various DLL errors occur and the situation is called “DLL hell”. It is the most difficult DLL error to fix.
  • When the DLL error arises in the system, it starts crashes the program’s active window.
  • Your system randomly crashes regularly while working on a similar program where the error occurred.
  • System and applications start not responding.
  • The system might freeze for the small time period.

These are scenarios that the users encounter when the DLL Error Loading in Excel 2010 appears. Now check the working solutions to fix Excel 2010 Error loading DLL visual basic error occurs.

1# Restore Missing DLL Files

It might happen due to the missing DLL file users are facing issues while opening Excel files. So here it is recommended to go into tools menu in the VBA environment > look in reference to check if anything DLL is missing.

If it says DLL is missing then it is missing and tries to restore it. Check in the Recycle Bin or download it from the manufacturer website.

2# Copy DLL Files from Working Computer

Here is also a trick to resolve DLL Error loading issue. Try copying the DLL file from the working computers to the non-working computers and after that choose it in the references.

Hope this works for you to fix error in loading dll Excel but if not then follow another solution.

3# Program Reinstallation

If after following the above-given fixes still getting the error in Excel, then it is suggested to reinstall the program that is showing the error message.

So first uninstall the program and after that reinstall the program again. And also make sure that the program is sharing DLL file with any other program or not. if it did so, the avoid reinstalling the program.

4# Repair And Clear The Registry

When the DLL error appears, the Windows registry also changes at the same time. The Window registry registers every action that occurs in the system, cleaning Window registry help to fix the error. But before following the process it is recommended to backup the data carefully.

You can make use of the Registry Repair Tool; this is the best utility to repair damaged, corrupted and other errors in registry entries. Apart from that the DLL error always comes with data loss or data inaccessibility. So it is important to fix the error as soon as possible.

5# System Restore

  • Start your PC in the safe mode. For pressing the F8 key when your PC booting and choose the safe mode option.
  • Try to open the Command Prompt, hit the Windows +R key simultaneously.  After that type the following text “rstrui.exe” into Command prompt and hit the enter button.

System Restore 1

  • This will open the Windows System Restore wizard from which you have to click the “Next” option to proceed further.
  • After that choose the date up to which you needs to restore your data. Check the box present next to “Show more restore points” to see the list of older restore points. Choose the restore points previous to the point of time when DLL error begins and hit the “Next” button.

System Restore 2

  • To confirm the chosen restore point you have to hit the “Finish” button.

System Restore 3

  • Log-in back to your PC Windows normally.

Conclusion:

Excel is quite complex and highly prone to corruption. This easily gets corrupted and starts showing errors.

Well, today in this article I address the Excel 2010 Error Loading DLL issue, this is not completely the error related to Excel document but is related to the DLL errors.

Hope after reading the article and following the given fixes you are able to fix Excel 2010 Error Loading DLL issue.

Try the given fixes to resolve DLL error and start using your Excel document again.

Apart from that, if due to the error you encountered the data loss situation in Excel then make use of the  MS Excel Repair Tool, this is the best tool and is capable to repair and recover the entire data stored in Excel without any modification.

Priyanka is an entrepreneur & content marketing expert. She writes tech blogs and has expertise in MS Office, Excel, and other tech subjects. Her distinctive art of presenting tech information in the easy-to-understand language is very impressive. When not writing, she loves unplanned travels.

Jan T


  • #1

I am using Excel 2010 and Windows 7 and I would like to make use of
some .dll files to experiment and get some experience making my code
moore protected in future projects. I also realize that Microsoft
doesn’t sell this any moore and I know there are some issues with
classic Visual Basic running on Windows 7, but that there are tricks
too make classic visual basic work with Windows 7.

Now, I have one possibility to buy a good old classic Visual Basic
Professional edition to a very good price, but a have one question. Is
it legal to buy a used one? I can also buy a new one, but for a higher
price.
The last option is probably Visual Studio 2010 but that seems very
expensive to buy for only a few .dll or assemly files, if that is what
they are called. Somebody that have some comments or suggestions?

Regards
Jan T.

Advertisements

GS


  • #2

Jan T expressed precisely :

I am using Excel 2010 and Windows 7 and I would like to make use of
some .dll files to experiment and get some experience making my code
moore protected in future projects. I also realize that Microsoft
doesn’t sell this any moore and I know there are some issues with
classic Visual Basic running on Windows 7, but that there are tricks
too make classic visual basic work with Windows 7.

Now, I have one possibility to buy a good old classic Visual Basic
Professional edition to a very good price, but a have one question. Is
it legal to buy a used one? I can also buy a new one, but for a higher
price.
The last option is probably Visual Studio 2010 but that seems very
expensive to buy for only a few .dll or assemly files, if that is what
they are called. Somebody that have some comments or suggestions?

Regards
Jan T.

I’d go with buying a used VB classic. That’s what I did and there’s no
problem installing it on Win7 if you follow the recommendations found
in the newsgroup mentioned below my signature.

Note, however, that you can’t use VB6 for MSO 64bit projects.
Note also that most VB controls do not ship as of Win 6.x and so you
must must distribute/register any your projects use. Also, the VB
runtime is expected to be not supported after Win7.

If you expect long term use then I recommend you invest in a
programming language that will compile to x32/x64, focus going forward
on x64.

HTH

Jan T


  • #3

Jan T expressed precisely :

I’d go with buying a used VB classic. That’s what I did and there’s no
problem installing it on Win7 if you follow the recommendations found
in the newsgroup mentioned below my signature.

Note, however, that you can’t use VB6 for MSO 64bit projects.
Note also that most VB controls do not ship as of Win 6.x and so you
must must distribute/register any your projects use. Also, the VB
runtime is expected to be not supported after Win7.

If you expect long term use then I recommend you invest in a
programming language that will compile to x32/x64, focus going forward
on x64.

HTH


Garry

Free usenet access athttp://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc– Skjul sitert tekst –

– Vis sitert tekst –

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
— — — — — — —

Thanks Gary for good answers!

You wrote;
**..the VB runtime is expected to be not supported after Win7.** Does
that mean it is not possible
to run a VB program, say in Win 8, that is an executable/.exe file
that was produced in Win 7 environments
using VB Classic Development tools?
(or do you mean I cannot install VB classic developing program, that I
am considering buying)?

Does that mean I probably cannot use .dll with say an Excel Addin
after Win 7?
Thank you very much for answering.

Regards
Jan T.

GS


  • #4

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
— — — — — — —

Thanks Gary for good answers!

You wrote;
**..the VB runtime is expected to be not supported after Win7.** Does
that mean it is not possible
to run a VB program, say in Win 8, that is an executable/.exe file
that was produced in Win 7 environments
using VB Classic Development tools?
(or do you mean I cannot install VB classic developing program, that I
am considering buying)?

Does that mean I probably cannot use .dll with say an Excel Addin
after Win 7?
Thank you very much for answering.

Regards
Jan T.

Jan,
You can use DLLs created in VB6 with Excell addins OR as Excel
COMAddins regardless of what OS you create them on. There’ll be
problems with installing classic VS on Win7 but these can be worked
around by the recommendations posted in the newsgroup referred to in my
signature below.

AFAIK, Win8 will not include the ‘classic’ vb runtime so unless your
projects are purely x32 to run in MSO x32 only, expect problems! The vb
runtime supports the intrinsic controls only so any other controls you
use (ie: common dialog, etc) you’ll need to ship these and register
them before your project can use them.

If you go with a newer version of VS (ie: .NET) you will have far less
problems. VB.Net offers the best support for creating COMAddins for MSO
apps.

In all cases, you’ll need a x64 capable language to service MSO x64. MS
offers C++ but I haven’t any info regarding x64 compilers for C++.
Being that things are transitioning to x64 as the standard next gen
platform I’d be recommending going with something that serves your
needs in both x32/x64.

Of course, you’ll be able to run your VB.EXEs in Win8 if you also
ship/register ALL the necessary runtime components. That doesn’t mean
Win8 will support them; it just means they won’t be included in that
OS.

My best advice is to subscribe to a few of the vb newsgroups or online
forums.

Best wishes…

Auric__


  • #5

GS said:

on 12/3/2011, Jan T supposed : [snip]

You wrote;
**..the VB runtime is expected to be not supported after Win7.** Does
that mean it is not possible
to run a VB program, say in Win 8, that is an executable/.exe file
that was produced in Win 7 environments
using VB Classic Development tools?
(or do you mean I cannot install VB classic developing program, that I
am considering buying)?

Does that mean I probably cannot use .dll with say an Excel Addin
after Win 7?
Thank you very much for answering.

Jan,
You can use DLLs created in VB6 with Excell addins OR as Excel
COMAddins regardless of what OS you create them on. There’ll be
problems with installing classic VS on Win7 but these can be worked
around by the recommendations posted in the newsgroup referred to in my
signature below.

AFAIK, Win8 will not include the ‘classic’ vb runtime so unless your
projects are purely x32 to run in MSO x32 only, expect problems! The vb
runtime supports the intrinsic controls only so any other controls you
use (ie: common dialog, etc) you’ll need to ship these and register
them before your project can use them.

If you go with a newer version of VS (ie: .NET) you will have far less
problems. VB.Net offers the best support for creating COMAddins for MSO
apps.

In all cases, you’ll need a x64 capable language to service MSO x64. MS
offers C++ but I haven’t any info regarding x64 compilers for C++.
Being that things are transitioning to x64 as the standard next gen
platform I’d be recommending going with something that serves your
needs in both x32/x64.

Of course, you’ll be able to run your VB.EXEs in Win8 if you also
ship/register ALL the necessary runtime components. That doesn’t mean
Win8 will support them; it just means they won’t be included in that
OS.

My best advice is to subscribe to a few of the vb newsgroups or online
forums.

In addition to everything Gary said, I’d like to point out that there are
other BASICs available for Windows (free or otherwise) which are perfectly
capable of creating DLLs, not to mention other languages entirely (if you
know any). FreeBASIC can, PowerBASIC can, most Windows C/C++ compilers can,
etc.

There’s an x64 version of GCC available through MinGW-w64:
http://mingw-w64.sourceforge.net/

GS


  • #6

Auric__ explained :

There’s an x64 version of GCC available through MinGW-w64:
http://mingw-w64.sourceforge.net/

Now this looks interesting! Thanks for sharing…

While I agree about the other languages you mention, they still only
provide x32 compilers AFAIK. None except C/C++ can create COMAddins for
MSO AFAICS.

Advertisements

Jan T


  • #7

GS said:

on 12/3/2011, Jan T supposed : [snip]

You wrote;
**..the VB  runtime is expected to be not supported after Win7.** Does
that mean it is not possible
to run a VB program, say in Win 8, that is an executable/.exe file
that was produced in Win 7 environments
using VB Classic Development tools?
(or do you mean I cannot install VB classic developing program, that I
am considering buying)?
Does that mean I probably cannot use .dll with say an Excel Addin
after Win 7?
Thank you very much for answering.

Jan,
You can use DLLs created in VB6 with Excell addins OR as Excel
COMAddins regardless of what OS you create them on. There’ll be
problems with installing classic VS on Win7 but these can be worked
around by the recommendations posted in the newsgroup referred to in my
signature below.

AFAIK, Win8 will not include the ‘classic’ vb runtime so unless your
projects are purely x32 to run in MSO x32 only, expect problems! The vb
runtime supports the intrinsic controls only so any other controls you
use (ie: common dialog, etc) you’ll need to ship these and register
them before your project can use them.

If you go with a newer version of VS (ie: .NET) you will have far less
problems. VB.Net offers the best support for creating COMAddins for MSO
apps.

In all cases, you’ll need a x64 capable language to service MSO x64. MS
offers C++ but I haven’t any info regarding x64 compilers for C++.
Being that things are transitioning to x64 as the standard next gen
platform I’d be recommending going with something that serves your
needs in both x32/x64.

Of course, you’ll be able to run your VB.EXEs in Win8 if you also
ship/register ALL the necessary runtime components. That doesn’t mean
Win8 will support them; it just means they won’t be included in that
OS.

My best advice is to subscribe to a few of the vb newsgroups or online
forums.

In addition to everything Gary said, I’d like to point out that there are
other BASICs available for Windows (free or otherwise) which are perfectly
capable of creating DLLs, not to mention other languages entirely (if you
know any). FreeBASIC can, PowerBASIC can, most Windows C/C++ compilers can,
etc.

There’s an x64 version of GCC available through MinGW-w64:
 http://mingw-w64.sourceforge.net/

Very interesting. I have to take a closer look at those as well.
Thank you! Appreciated it.

Regards
Jan T

Auric__


  • #8

GS said:

Auric__ explained :

Now this looks interesting! Thanks for sharing…

While I agree about the other languages you mention, they still only
provide x32 compilers AFAIK. None except C/C++ can create COMAddins for
MSO AFAICS.

I expect that FreeBASIC will have x64 support within a few years.
PowerBASIC… well, you never know about x64 support, but I’m *fairly* sure
that it can do COM addins. (MSO, no clue.)

I only have one 64-bit machine so it’s fairly low-importance to me right now
(and therefore I haven’t researched it as thoroughly as I might otherwise).

Advertisements

GS


  • #9

Auric__ laid this down on his screen :

I expect that FreeBASIC will have x64 support within a few years.
PowerBASIC… well, you never know about x64 support, but I’m *fairly* sure
that it can do COM addins. (MSO, no clue.)

I only have one 64-bit machine so it’s fairly low-importance to me right now
(and therefore I haven’t researched it as thoroughly as I might otherwise).

I have PB and I can assure you it has no features for making COMAddins.
Sure, it can make COM DLLs but that’s far from a COMAddin. A COMAddin
is a DLL designed specifically for MSO apps such that the target MSO
app knows the COMAddin exists and so installs it once it’s registered.
I suspect a COM DLL can be installed in other apps by pointing to the
com.dll file via an addins manager or the like, but these DLLs must be
designed with the host app’s required criteria to be recognized.
Otherwise, PB has no mechanism for creating COMAddins.

Ошибки Microsoft.Office.Interop.Excel.dll

Ошибки Microsoft.Office.Interop.Excel.dll возникают по нескольким причинам, например, файл может быть поврежден, удален или не найден на компьютере. Распространенные ошибки библиотек:

  • Ошибка при запуске Microsoft.Office.Interop.Excel.dll: не найден указанный модуль.
  • Файл не предназначен или несовместим с версией Windows.
  • Отсутствует Microsoft.Office.Interop.Excel.dll, попробуйте переустановить программу.
  • Модуль или библиотека не обнаружены на компьютере.
  • Microsoft.Office.Interop.Excel.dll вернул код ошибки.

Чтобы исправить ошибки Microsoft.Office.Interop.Excel.dll, скачайте файл и переустановите его в системной папке Windows. В некоторых случаях файл должен находиться в папке с игрой или программой. Подробная инструкция по установке Microsoft.Office.Interop.Excel.dll и других библиотек находится в разделе «Помощь».

  • #1

Добавление сборки Microsoft.Office.Interop.Excel

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

1. Перейдите в окно Solution Explorer.

c-shpargalka-dlja-raboty-s-papkami-i-podpapkami_1.png

2. Найдите пункт References и нажмите на нём правую кнопку мыши.
3. В появившемся контекстном меню выберите пункт Add Reference.

kak-dobavit-sborku-microsoft-office-interop-excel_1.png

4. В окне Reference Manager выберите пункт Assemblies -> Extensions.
5. Найдите сборку Microsoft.Office.Interop.Excel, после чего выберите ее, установив рядом с ней галочку.

kak-dobavit-sborku-microsoft-office-interop-excel_2.png

6. Нажмите на кнопку с надписью «OK», чтобы добавить сборку в проект.

kak-dobavit-sborku-microsoft-office-interop-excel_3.png

7. Для удобства работы с членами и типами добавьте следующую строку:
using Microsoft.Office.Interop.Excel;
8. Если после добавления сборки или во время работы у вас возникает конфликт имен с типами или членами других сборок, то для решения данной проблемы вы можете создать псевдоним:
using Excel = Microsoft.Office.Interop.Excel;

kak-dobavit-sborku-microsoft-office-interop-excel_4.png

Содержание

  • 1 Что такое EXCEL.DLL?
  • 2 Что из себя представляют файлы DLL?
  • 3 Почему у меня наблюдаются ошибки в файлах типа DLL?
  • 4 В каких случаях появляются ошибки в файлах типа DLL?
    • 4.1 Шаг 1: Зарегистрировать EXCEL.DLL вручную при помощи сервера регистрации Microsoft
    • 4.2 Шаг 2: Исправить ошибочные записи реестра для EXCEL.DLL
    • 4.3 Шаг 3: Удалить или восстановить файл EXCEL.DLL из Корзины Windows
    • 4.4 Шаг 4: Проведите полное сканирование вашего компьютера на вредоносное ПО
    • 4.5 Шаг 5: Обновите драйверы устройств на вашем компьютере
    • 4.6 Шаг 6: Используйте Восстановление системы Windows, чтобы «Отменить» последние изменения в системе
    • 4.7 Шаг 7: Удалите и установите заново программу MSDN Disc 2537.3, связанную с EXCEL.DLL
    • 4.8 Шаг 8: Запустите проверку системных файлов Windows («sfc /scannow»)
    • 4.9 Шаг 9: Установите все доступные обновления Windows
    • 4.10 Шаг 10: Произведите чистую установку Windows

Загрузка
WinThruster 2018 — Сканировать ваш компьютер на наличие ошибок реестра в EXCEL.DLL

Совместима с Windows 2000, XP, Vista, 7, 8 и 10

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

Обзор EXCEL.DLL

Что такое EXCEL.DLL?

EXCEL.DLL представляет собой разновидность файла DLL, связанного с MSDN Disc 2537.3, который разработан Microsoft для ОС Windows. Последняя известная версия EXCEL.DLL: 1.0.0.0, разработана для Windows. Данный файл DLL имеет рейтинг популярности 1 звезд и рейтинг безопасности «UNKNOWN».

Что из себя представляют файлы DLL?

Файлы DLL («динамически подключаемая библиотека»), такие как EXCEL.DLL – это небольшие программы, схожие с файлами EXE («исполняемыми»), которые позволяют множеству программ использовать одни и те же функции (например, печать).

Например, когда вы запускаете Windows и редактируете документ в Microsoft Word. Необходимо загружать файл DLL, контролирующий печать, только если его функции востребованы — например, когда вы решили свой документ. Когда вы выбираете «Печать», Microsoft Word вызывает файл принтера DLL, и он загружается в память (RAM). Если вы хотите документ в другой программе, например в Adobe Acrobat, будет использоваться тот же самый файл принтера DLL.

Почему у меня наблюдаются ошибки в файлах типа DLL?

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

Проще говоря, если Windows не может корректно загрузить файл EXCEL.DLL, вы получите сообщение об ошибке. Для получения дополнительной информации см. «Причины ошибок EXCEL.DLL» ниже.

В каких случаях появляются ошибки в файлах типа DLL?

Ошибки DLL, например, связанные с EXCEL.DLL, чаще всего появляются во время запуска компьютера, запуска программы или при попытке использования специфических функций в вашей программе (например, печать).

Распространенные сообщения об ошибках в EXCEL.DLL

Наиболее распространенные ошибки EXCEL.DLL, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:

  • «EXCEL.DLL не найден.»
  • «Файл EXCEL.DLL отсутствует.»
  • «EXCEL.DLL нарушение прав доступа.»
  • «Файл EXCEL.DLL не удалось зарегистрировать.»
  • «Файл C:WindowsSystem32EXCEL.DLL не найден.»
  • «Не удалось запустить MSDN Disc 2537.3. Отсутствует необходимый компонент: EXCEL.DLL. Пожалуйста, установите MSDN Disc 2537.3 заново.»
  • «Не удалось запустить данное приложение, так как не найден файл EXCEL.DLL. Повторная установка приложения может решить эту проблему.»

Такие сообщения об ошибках DLL могут появляться в процессе установки программы, когда запущена программа, связанная с EXCEL.DLL (например, MSDN Disc 2537.3), при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки EXCEL.DLL является важной информацией при устранении проблемы.

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

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

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

Более конкретно, данные ошибки EXCEL.DLL могут быть вызваны следующими причинами:

Предупреждение: Мы не рекомендуем скачивать EXCEL.DLL с сайтов типа «DLL». Такие сайты распространяют файлы DLL, которые не одобрены официальным разработчиком файла EXCEL.DLL и часто могут поставляться в комплекте с инфицированными вирусом или другими вредоносными файлами. Если вам требуется копия файла EXCEL.DLL, настоятельно рекомендуется получить ее непосредственно у Microsoft.

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

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

Шаг 1: Зарегистрировать EXCEL.DLL вручную при помощи сервера регистрации Microsoft

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

Как заново зарегистрировать EXCEL.DLL из привилегированной командной строки (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите на кнопку Начать.
  2. Введите «command» в строке поиска… ПОКА НЕ НАЖИМАЙТЕ ENTER!
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да.
  6. Введите следующую команду: regsvr32 /u EXCEL.DLL.
  7. Нажмите ENTER. Для файла будет ОТМЕНЕНА РЕГИСТРАЦИЯ.
  8. Введите следующую команду: regsvr32 /i EXCEL.DLL.
  9. Нажмите ENTER. Файл будет ЗАРЕГИСТРИРОВАН ЗАНОВО.
  10. Закройте окно командной строки.
  11. Перезапустить программу, связанную с ошибкой EXCEL.DLL.

Шаг 2: Исправить ошибочные записи реестра для EXCEL.DLL

Иногда ошибки EXCEL.DLL и другие системные ошибки DLL могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл EXCEL.DLL, но когда эти программы удалены или изменены, иногда остаются «осиротевшие» (ошибочные) записи реестра DLL.

В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка EXCEL.DLL. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с MSDN Disc 2537.3. Таким образом, эти поврежденные записи реестра DLL необходимо исправить, чтобы устранить проблему в корне.

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей EXCEL.DLL не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В связи с подобным риском мы настоятельно рекомендуем использовать надежные инструменты очистки реестра, такие как WinThruster (разработанный Microsoft Gold Certified Partner), чтобы просканировать и исправить любые проблемы, связанные с EXCEL.DLL. Используя очистку реестра, вы сможете автоматизировать процесс поиска поврежденных записей реестра, ссылок на отсутствующие файлы (например, вызывающих ошибку EXCEL.DLL) и нерабочих ссылок внутри реестра. Перед каждым сканированием автоматически создается резервная копия, позволяющая отменить любые изменения одним кликом и защищающая вас от возможного повреждения компьютера. Самое приятное, что устранение ошибок реестра может резко повысить скорость и производительность системы.

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

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с EXCEL.DLL (например, MSDN Disc 2537.3):

  1. Нажмите на кнопку Начать.
  2. Введите «command» в строке поиска… ПОКА НЕ НАЖИМАЙТЕ ENTER!
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да.
  6. Черный ящик открывается мигающим курсором.
  7. Введите «regedit» и нажмите ENTER.
  8. В Редакторе реестра выберите ключ, связанный с EXCEL.DLL (например, MSDN Disc 2537.3), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт.
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа MSDN Disc 2537.3.
  11. В поле Имя файла введите название файла резервной копии, например «MSDN Disc 2537.3 резервная копия».
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь.
  13. Нажмите Сохранить.
  14. Файл будет сохранен с расширением .reg.
  15. Теперь у вас есть резервная копия записи реестра, связанной с EXCEL.DLL.

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

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

Windows XP
http://www.theeldergeek.com/windows_xp_registry.htm

Windows 7
http://www.theeldergeek.com/windows_7/registry_edits_for_win7.htm

Windows Vista
http://support.microsoft.com/kb/2688326 — LetMeFixItMyselfAlways

Шаг 3: Удалить или восстановить файл EXCEL.DLL из Корзины Windows

  1. Просто дважды щелкните по значку Корзина.
  2. В верхнем правом углу найдите EXCEL.DLL.
  3. Если файл EXCEL.DLL присутствует в результатах поиска, выберите его и переместите в следующую папку:
    1. Windows 95/98/Me = C:WindowsSystem32
    2. Windows NT/2000 = C:WindowsSystem32
    3. Windows XP, Vista, 7, 8, 10 = C:WindowsSystem32
    4. 64-bit Windows = C:WindowsSystem32
  4. После перемещения файла EXCEL.DLL перезагрузите компьютер.

Tip: If you are positive that you deleted the EXCEL.DLL file AND emptied the Recycle Bin, then you will need to use a file recovery program to restore the EXCEL.DLL file. Click here to download a highly recommended file recovery program.

Шаг 4: Проведите полное сканирование вашего компьютера на вредоносное ПО

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

Совет: Если у вас еще не установлены средства для защиты от вредоносного ПО, мы настоятельно рекомендуем использовать Emsisoft Anti-Malware (скачать). В отличие от других защитных программ, данная программа предлагает гарантию удаления вредоносного ПО.

Шаг 5: Обновите драйверы устройств на вашем компьютере

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

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

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

Шаг 6: Используйте Восстановление системы Windows, чтобы «Отменить» последние изменения в системе

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

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

Чтобы использовать Восстановление системы (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите на кнопку Начать.
  2. В строке поиска введите «Восстановление системы» и нажмите ENTER.
  3. В окне результатов нажмите Восстановление системы.
  4. Введите пароль администратора (при появлении запроса).
  5. Следуйте инструкциям Мастера для выбора точки восстановления.
  6. Восстановить ваш компьютер.

Шаг 7: Удалите и установите заново программу MSDN Disc 2537.3, связанную с EXCEL.DLL

Инструкции для Windows 7 и Windows Vista:

  1. Откройте «Программы и компоненты», нажав на кнопку Пуск.
  2. Нажмите Панель управления в меню справа.
  3. Нажмите Программы.
  4. Нажмите Программы и компоненты.
  5. Найдите MSDN Disc 2537.3 в столбце Имя.
  6. Нажмите на запись MSDN Disc 2537.3.
  7. Нажмите на кнопку Удалить в верхней ленте меню.
  8. Следуйте инструкциям на экране для завершения удаления MSDN Disc 2537.3.

Инструкции для Windows XP:

  1. Откройте «Программы и компоненты», нажав на кнопку Пуск.
  2. Нажмите Панель управления.
  3. Нажмите Установка и удаление программ.
  4. Найдите MSDN Disc 2537.3 в списке Установленные программы.
  5. Нажмите на запись MSDN Disc 2537.3.
  6. Нажмите на кнопку Удалить справа.
  7. Следуйте инструкциям на экране для завершения удаления MSDN Disc 2537.3.

Инструкции для Windows 8:

  1. Установите указатель мыши в левой нижней части экрана для показа изображения меню Пуск.
  2. Щелкните правой кнопкой мыши для вызова Контекстного меню Пуск.
  3. Нажмите Программы и компоненты.
  4. Найдите MSDN Disc 2537.3 в столбце Имя.
  5. Нажмите на запись MSDN Disc 2537.3.
  6. Нажмите Удалить/изменить в верхней ленте меню.
  7. Следуйте инструкциям на экране для завершения удаления MSDN Disc 2537.3.

После того, как вы успешно удалили программу, связанную с EXCEL.DLL (например, MSDN Disc 2537.3), заново установите данную программу, следуя инструкции Microsoft.

Совет: Если вы абсолютно уверены, что ошибка DLL связана с определенной программой Microsoft, удаление и повторная установка программы, связанной с EXCEL.DLL с большой вероятностью решит вашу проблему.

Шаг 8: Запустите проверку системных файлов Windows («sfc /scannow»)

Проверка системных файлов — важная утилита, включенная в состав Windows. Она позволяет сканировать файлы на наличие повреждений и восстанавливать системные файлы Windows, такие как EXCEL.DLL. Если утилита проверки системных файлов обнаружила проблему в EXCEL.DLL или другом важном системном файле, она предпримет попытку заменить проблемные файлы автоматически, используя Кэш DLL (%WinDir%System32Dllcache). Если файл EXCEL.DLL отсутствует в Кэше DLL, или Кэш DLL поврежден, утилита предложит вставить установочный диск Windows для восстановления оригинальных файлов.

Чтобы запустить проверку системных файлов (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите на кнопку Начать.
  2. Введите «command» в строке поиска… ПОКА НЕ НАЖИМАЙТЕ ENTER!
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да.
  6. Черный ящик открывается мигающим курсором.
  7. Введите «sfc /scannow» и нажмите ENTER.
  8. Проверка системных файлов начнет сканирование на наличие проблем EXCEL.DLL и других системных файлов (проявите терпение — проверка может занять длительное время).
  9. Следуйте командам на экране.

Шаг 9: Установите все доступные обновления Windows

Microsoft постоянно обновляет и улучшает системные файлы Windows, связанные с EXCEL.DLL. Иногда для решения проблемы DLL нужно просто напросто обновить Windows при помощи последнего пакета обновлений или другого патча, которые Microsoft выпускает на постоянной основе.

Чтобы проверить наличие обновлений Windows (Windows XP, Vista, 7, 8 и 10):

  1. Нажмите на кнопку Начать.
  2. Введите «update» в строке поиска и нажмите ENTER.
  3. Будет открыто диалоговое окно Обновление Windows.
  4. Если имеются доступные обновления, нажмите на кнопку Установить обновления.

Шаг 10: Произведите чистую установку Windows

Предупреждение: Мы должны подчеркнуть, что переустановка Windows займет очень много времени и является слишком сложной задачей, чтобы решить проблемы EXCEL.DLL. Во избежание потери данных вы должны быть уверены, что вы создали резервные копии всех важных документов, изображений, программ установки программного обеспечения и других персональных данных перед началом процесса. Если вы сейчас е создаете резервные копии данных, вам стоит немедленно заняться этим (скачать рекомендованное решение для резервного копирования), чтобы защитить себя от безвозвратной потери данных.

Пожалуйста, учтите: Если проблема EXCEL.DLL не устранена после чистой установки Windows, это означает, что проблема DLL ОБЯЗАТЕЛЬНО связана с аппаратным обеспечением. В таком случае, вам, вероятно, придется заменить соответствующее оборудование, вызывающее ошибку EXCEL.DLL.

Сообщения об ошибках EXCEL.DLL могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:

Обращайтесь к нам в любое время в социальных сетях для получения дополнительной помощи:

Об авторе: Джей Гитер (Jay Geater) является президентом и генеральным директором корпорации Solvusoft — глобальной компании, занимающейся программным обеспечением и уделяющей основное внимание новаторским сервисным программам. Он всю жизнь страстно увлекался компьютерами и любит все, связанное с компьютерами, программным обеспечением и новыми технологиями.

Вы загружаете пробное программное обеспечение. Подписка на один год стоимостью $39,95 необходима для разблокировки всех функций приложения. Подписка обновляется автоматически по завершению (Узнать больше). Нажав на кнопку «Начать загрузку» и установив «Софт»», я подтверждаю, что прочитал(а) и согласен(на) с Пользовательским соглашением и Политикой конфиденциальности Solvusoft.

Problem/Question/Abstract:

How do I make delphi functions available to Excel users?

I have seen many articles telling how to control Excel from within Delphi. However, it is also appealing to give Excel users (which tend to be far less programming oriented guys) the power of tools built with Dephi, its flexibility and velocity.

Answer:

The idea is very simple and is based upon the variable types that are common to Excel’s VBA and to Delphi. Those include 32 bit integer, double precision floating point and, mainly, Excel ranges.

I found that Excel sometimes interprets incorrectly simple types when passed by reference and thus I limmited their usage to value parameters.

On the other hand, ranges can only be passed by reference and can be read from but not written to. This means that, within Delphi, you must use the reserved word CONST instead of VAR.

First, I defined within a simple unit a set of functions that convert simple Variant types to simple types and viceversa. Those are IntToVar,Double and VarTodouble (the real unit also includes a StrToVar function but not a VarToStr since this one is already included in the System unit), and are used within the procedures that do the real work (RangeToMatrix, RangeToVector,VectorToMatrix and VectortoRange).

All these functions (along with some others that you might find useful) are put together in a unit called «_Variants» whose source code is copied here (with some slight modifications).

In the real unit you will find that there fucntions that provide conversion between Excel ranges and SDL delphi component suite which I have found to be quite useful (refer to www.lohninger.com).

I shall restrict the examples, however to standard types.

Lets take first a simple function:

This function, called gamma_alfa, takes as input the mean and the variance of a population and returns the alfa parameter of a gamma distribution.

In Excel’s VBA it is declared as

Declare Function gamma_alfa Lib «c:archivosdel_filesf_auxiliares_delphi» Alias «gamma_alfa_XL» (ByVal media As Double, ByVal varianza As Double) As Double

note the lib statement that refers to name that the DLL actually has.

note also the ByVal modifiers used for declaring the variables as well as the «as double» statements.
These mean that both the input and the output will be simple types of type double.

In Delphi, the function is declared as

function gamma_alfa(media, varianza : double) : Double;stdcall;

Note the stdcall at the end of the declaration. This is to ensure that Delphi will use the Microsoft calling convention

Also note the inconsistency between the delphi function’s name and the «alias» statement in VBA.

This is set in the export clause of the DLL:

Для правильной работы проверьте путь до M2DLL.DLL в Declare VBA Excel!

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

А почему бы не написать DLL, подумал я, ведь раньше я уже пытался писать DLL для VBA на C++. DLL это быстро, это интересно и позволяет отвлечься от каждодневной рутины. Но, так как я давно уже всё делаю на D, то и DLL решил писать на D. В качестве путеводителя по дебрям VBA я использовал замечательную книгу Брюса Мак-Кинни «Крепкий орешек 4 visual basic» 1996 года выпуска. Книга исключительно интересная и занимательная и ни сколько не потеряла своей актуальности.

Однако вернемся в D. Обращаю внимание, что все все примеры, которые представлены ниже, проверены только на Windows 32, Excel 2003 и dmd для Windows. Первым делом пишу строку сборки DLL, где исходный файл m2dll.d, а сама DLL будет называться m2dll.dll. Так же в сборке участвует файл dll.d входящий в поставку dmd и asc1251.d из QtE5.

dmd –ofm2dll.dll m2dll dll asc1251 -L/IMPLIB -release -shared

Небольшое введение. Существует несколько типов вызовов функций отличаются тем как передаются параметры их порядок в стеке и типами возвращаемых значений. Они все стандартизированы и в компиляторах имеются специальные дериктивы указывающие, как должен компилятор оформить функцию. Это следующие типы: pascal, stdcall, winapi и т.д. Более подробно читайте в интернете.
Итак, что у нас. У нас есть D у которого упращенно тип вызова «extern (D)». Есть Excel VBA в котором упрощенно тип вызова «extern (Windows)». DLL – это набор функций (в терминах C и C++) которые могут быть загружены во время работы приложения. Таким образом, у нас фактически будет набор функций, который мы будем вызывать из VBA. В самом VBA надо описать имя и параметры для вызываемой внешней функции.

Declare Function getAdrStringVBA Lib «r:m2dll.dll» Alias «_getAdr@4» (ByVal buf As String) As Long

Что здесь основное. Это Lib “r:m2dll.dll” – имя DLL и где она расположена, Function getAdrStringVBA – это как данная функция будет называться в VBA, Alias “_getAdr@4” – это как эта функция называется в DLL ну и напоследок список параметров и возвращаемых значений. Для D эта же функция будет выглядеть так:

export extern (Windows) int getAdr(char* buffer) { … }

Компилятору сказано «export» — быдет видна в DLL «extern (Windows)» это тип вызова, winApi и дальше параметры. Все понятно, кроме имени внутри DLL “_getAdr@4”. Это имя экспортированной функции. Есть много литературы описывающей как задавать эти имена (например в файле DEF и т.д.) но мне лень это все описывать и намного проще в TotalCommander посмотреть список экспортированных функций по кнопке F3 на полученной DLL.

Теперь о параметрах. Дело в том, что типы параметров в VBA и D (32 разр) совпадают лишь частично!

Int D == Long VBA
Long D == нет соответствия в 32 разр VBA

Таким образом, где нам нужно в D иметь int – значит в VBA это будет long. Когда VBA в функции имеет описание о передачи строки, значит передается адрес этой строки, вернее структуры содержащей в том числе и строку.

Мне было интересно проверить расположение данных в структурах VBA, типа как их обрабатывать в D. Для этого я пользовался интерпретатором VBA (окно Immediate в VBA Excel).
Первая задача – это научится смотреть дамп памяти структуры из VBA например строки. Как получить адрес строки в VBA, если самом VBA нет понятия указатель, вернее оно присутствует неявно. Первая наша функция в DLL будет возвращать адрес строки VBA. Их описание приведено выше. В VBA возвращается число (long) которое и есть адрес. Вторая наша функция dumpForVBA(), получая long из VBA, формирует строку С формата и записывает её в буфер, который сформирован VBA внутри функции dumpPointer():

Dim buf As String
buf = String(1000, 0)

Для испытаний, на уровне модуля VBA я определил две переменных:

Public str As String
Public adrStr As Long

Кстати, обращаю внимание, что все переменные в VBA должны быть объявлены явно, если этого не делать, то по умолчанию переменные получают тип Variant с которым D не умеет работать. Я опускаю передачу целых чисел в DLL и их возврат. Тут все просто, все передается и возвращается по значению. Это и понятно, работаем через аппаратный стек. Намного интереснее строки. Для исследования, я использую процедуру t1() в которой записан код VBA. Просмотр результата в окне Immediate. Если поставить текстовый курсор внутри процедуры t1() на любом операторе и нажать F5 – то будет выполнена эта процедура. Это избавляет от лишней писанины.

  Sub t1()      '1 - исследуем строку VBA      str = "ABC"      adrStr = getAdrStringVBA(str) 'Взяли адрес      'Распечатали содержимое по адресу      Debug.Print adrStr, " --> " & dumpPointer(adrStr, 0)  End Sub  

Результат выполнения:

82468836      —> 65 — 66 — 67 — 0 — 0 — 0 — 0 — 0 — 108 — 0 — 0 — 0 – Действительно видна наша строка.  Если верить «Крепкому орешку», то длина строки расположена в 32 разрядном слове левее нашей строки. Проверим. Для этого вычтем 4 (сместимся на 4 ячейки) и посмотрим дамп.

82468832      —> 3 — 0 — 0 — 0 — 65 — 66 — 67 — 0 — 0 — 0 — 0 — 0 – Отлично видно, что длина строки равна 3.

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

  Sub t1()      Dim s1 As String, s2 As String      str = "ABCD"      adrStr = getAdrStringVBA(str)      s1 = dumpPointer(adrStr, 0)      s2 = dumpPointer(adrStr - 4, 0)      Debug.Print adrStr, " --> " & s1      Debug.Print adrStr - 4, " --> " & s2  End Sub  

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

82338988      —> 65 — 66 — 67 — 68 — 0 — 0 — 0 — 0 — 108 — 0 — 0 — 0 —
82338984      —> 4 — 0 — 0 — 0 — 65 — 66 — 67 — 68 — 0 — 0 — 0 — 0 —

Хорошо. Но надо проверить факт, как это утверждается в документации, того, что VBA всегда ставит 0 (ноль) в конце строки. Как бы это проверить…

Интересная вскрылась ситуация. Оказывается VBA все время меняет расположение строк в памяти. Фактически каждое новое присваивание чего-то строке меняет её адрес в памяти. Причем, старая строка просто занимается новым содержимым, при том уже в формате Unicode.

  Dim ms1 As String      ms1 = String(4, 65)      adrStr = getAdrStringVBA(ms1) 'Взяли адрес      s1 = dumpPointer(adrStr, 0)      s2 = dumpPointer(adrStr - 4, 0)      Debug.Print adrStr, " --> " & s1      Debug.Print adrStr - 4, " --> " & s2      ms1 = "BB"      Dim adrStr2 As Long      adrStr2 = getAdrStringVBA(ms1) 'Взяли адрес      Debug.Print adrStr2      s1 = dumpPointer(adrStr, 0)      s2 = dumpPointer(adrStr - 4, 0)      Debug.Print adrStr, " --> " & s1      Debug.Print adrStr - 4, " --> " & s2  EndSub  

Вывод:

72519660      —> 65 — 65 — 65 — 65 — 0 — 0 — 53 — 0 — 49 — 0 — 57 — 0 —72519656      —> 4 — 0 — 0 — 0 — 65 — 65 — 65 — 65 — 0 — 0 — 53 — 0 —7251986072519660      —> 66 — 0 — 66 — 0 — 0 — 0 — 32 — 0 — 0 — 0 — 57 — 0 —72519656      —> 4 — 0 — 0 — 0 — 66 — 0 — 66 — 0 — 0 — 0 — 32 — 0 —

Вначале создаётся строка из 4 букв A и это видно по адресу 72519660, потом я пытаюсь присвоить более короткую строку в надежде, что VBA экономя обращения к памяти, запишет её в тот же адрес. Однако ничего подобного не происходит. Создается совершенно новая переменная (её адрес 72519860), а в старый адрес записывается новая строка в формате Unicode.

Почитав документацию вижу следующую фразу: «VBA при обращении к внешним функциям DLL создаёт полную копию исходной строки, при этом конвертируя её из исходного формата Unicode в ASCII представление с конечным нулем для обработки функциями WinApi». Вот оно оказывается как. Теперь понятно почему оператор ms1 = «BB» вызвал создание новой копии. Это была подготовка к вызову внешней функции. Провожу ещё один эксперимент, пытаюсь понять, неужели VBA на каждое присваивание заново делает выделение памяти. Ниже кусочек кода:

  ms1 = String(10, 65)  ms1 = "BB"  adrStr = getAdrStringVBA(ms1)  s1 = dumpPointer(adrStr, 0)  s2 = dumpPointer(adrStr - 4, 0)  Debug.Print adrStr, " --> " & s1  Debug.Print adrStr - 4, " --> " & s2  

Вывод:

72520940      —> 66 — 66 — 0 — 0 — 65 — 0 — 65 — 0 — 65 — 0 — 65 — 0 —72520936      —> 2 — 0 — 0 — 0 — 66 — 66 — 0 — 0 — 65 — 0 — 65 — 0 —

Вот и ответ. Забиваем строку 10 буквами A (код 65) и тут же присваиваем новое значение “BB” – которое явно короче и может использовать старый буфер. И точно – в ответе видно, что был использован предыдущий буфер, который был забит 10 буквами A в Unicod (65;0), но в него положили уже сконвертированное значение, подготовленное для передачи во внешнюю функцию.

Со строками разобрались. Вывод для работы со строками в DLL: обязательно нужна промежуточная функция на VBA, которая создаст локальный буфер большого размера, в который мы из DLL и будем записывать результирующие строки для возврата в VBA. Далее нужно извлечь из этого буфера нужное количество символов, которое мы вернем как возвращаемое значение. Пример такого подхода Public Function dumpPointer(pointer As Long, sw As Long) As String. Хорошо, а как быть со строками которые нужно отдать в DLL. А тут все просто, VBA сам выделяет буфер и ещё конвертирует из Unicode, да ещё и количество записывает, что для нас очень кстати, так как позволяет передавать и 0 в строке (фактически двоичные данные). Таким образом можно и передать и вернуть двоичные данные. Добраться до внутреннего представления строк VBA в Unicode возможно, но есть ли в этом надобность.

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

Declare Function getAdrArrayVBA Lib «r:m2dll.dll» Alias «_getAdr@4» (ByRef buf As Long) As Long

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

  Dim m(2) As Long  m(0) = 1: m(1) = 3  adrStr = getAdrArrayVBA(m(0))  s1 = dumpPointer(adrStr, 0)  s2 = dumpPointer(adrStr - 4, 0)  Debug.Print adrStr, " --> " & s1  Debug.Print adrStr - 4, " --> " & s2  

Вывод:
72514896      —> 1 — 0 — 0 — 0 — 3 — 0 — 0 — 0 — 0 — 0 — 0 — 0 —
72514892      —> 0 — 0 — 0 — 140 — 1 — 0 — 0 — 0 — 3 — 0 — 0 — 0 —

Мы забираем адрес первого элемента массива и в дампе фактически видим сам массив в разрезе четырех байт. Отсюда вывод о том, как работать с массивами. Создаём массив большого размера, в DLL его модифицируем, передавая новую длину, и уже в VBA копируем значимую часть для сохранения результата. Аналогичный должно быть и со структурами, но проверять мне было лень…

Теперь, когда более менее ясно как обмениваться данными из VBA в DLL, вернемся непосредственно в D. Фактически разработчики уже все за нас предусмотрели написав нам dll.d!

В ней описываются точки входа и инициализация GC и Phobos. Таким образом, делать практически ничего не нужно. НО! Есть маленькое но. Так как у нас функции extern (Windows) нам не позволено пользоваться в таких процедурах всеми возможностями динамического распределения памяти. Я не могу дать четкого ответа, чем можно пользоваться а чем нет, но есть выход. Определяем обычные функции (по умолчанию они будут вызова D) и спокойно в них делаем работу, а функции extern (Windows) используем только для обмена параметрами с VBA.

Исходный код m2dll.d с комментариями, а также все необходимые файлы прикреплены ниже. А вот базу с данными, которые передавались в Excel, к сожалению, предоставить не могу, ибо в ней конфиденциальная информация.

Файлы: vba_and_d.zip

Microsoft.Office.Interop.Excel.dll

  • DLL File Name:Microsoft.Office.Interop.Excel.dll

  • File Type:Win32 DLL

  • Product Name:Microsoft Office 2010

  • Developer:Microsoft Corporation

  • File Version:2 versions available

  • File Size:1.05MB — 1.49MB

  • Language Code:Neutral

  • Character Set:Windows, Latin1

  • MD5 Checksum:Multiple Files

  • Copyright:© 2010 Microsoft Corporation. All rights reserved.

Microsoft.Office.Interop.Excel.dll Errors

Microsoft.Office.Interop.Excel

The file Microsoft.Office.Interop.Excel.dll is a 32bit Windows DLL module for Microsoft Office 2010 or other related programs. The file is also referred as Excel Primary Interop Assembly. The file and the associated Microsoft Office 2010 software was developed by Microsoft Corporation. The file was licensed as © 2010 Microsoft Corporation. All rights reserved..

Microsoft.Office.Interop.Excel.dll file is a critical component for the software to work properly without any problems. You may receive an error message like the ones below that indicates the file is not found or damaged.

  • This application failed to start because Microsoft.Office.Interop.Excel.dll was not found.
  • The file Microsoft.Office.Interop.Excel.dll is missing or corrupted.
  • A required component is missing: Microsoft.Office.Interop.Excel.dll. Please install the application again.
  • Error loading Microsoft.Office.Interop.Excel.dll. The specified module could not be found.
  • The program can’t start because Microsoft.Office.Interop.Excel.dll is missing from your computer.

To fix the error, you need to copy the missing Microsoft.Office.Interop.Excel.dll file to your system or replace the corrupted dll file with a working one by following the instructions below. There are 2 different versions of the dll file available for download with sizes between 1.05MB — 1.49MB.

How to Install Microsoft.Office.Interop.Excel.dll

You can download Microsoft.Office.Interop.Excel.dll for free from the download section on this page. After downloading the zip file, unzip it to a convenient location on your computer. In order to fix dll related errors, you need to copy the .dll file to the installation folder of the application/game, or install .dll file directly to Windows (Windows XP, Vista, Windows 7, Windows 10).

Install DLL File to Program Folder

· Copy the extracted Microsoft.Office.Interop.Excel.dll file to the installation directory of the application or game.

· Check if the problem is solved. If the problem persists or you are not sure which software is having problems, install the file directly to Windows system folder.

Register DLL File Using Microsoft Regsvr

· Copy the file to «C:WindowsSystem32»

· You can install the .dll file in both system folders without any problems. In order to complete this step, you must run the Command Prompt as administrator.

· Open the Start Menu and before clicking anywhere, type «cmd» on your keyboard.

· Right-click the «Command Prompt» search result and click the «Run as administrator» option.

· Paste the following command into the Command Line window that opens up and press Enter key.

· %windir%System32regsvr32.exe Microsoft.Office.Interop.Excel.dll

Download Microsoft.Office.Interop.Excel.

Version OS Size Language Download
14.0.4733.100 32bit 1.5MB Neutral Download
11.0.5530.0 32bit 1MB Neutral Download

Please note : This is a free download. No guarantees or warranties are given or implied. Please download and install the file at your own risk…

About Developer

Microsoft Corporation

Microsoft is an American multinational technology corporation which produces computer software, consumer electronics, personal computers, and related services. Microsoft Corporation is the developer of 10287 dll files in our archive, available for free download, including popular files like msvcp140.dll, vcruntime140.dll, api-ms-win-crt-runtime-l1-1-0.dll, xlive.dll.

Similar DLL Files

EXCELPIA.dll — 2007 Microsoft Office system

Developer: Microsoft · Ver: 12.0.4 · Size: 1.2MB

NPAUTHZ.dll — Microsoft Office 2010

Developer: Microsoft · Ver: 14.0.4 · Size: 16.4KB

EXCELPOL.dll — Microsoft Office

Developer: Microsoft · Ver: 12.0.4 · Size: 11.8KB

MSOSV.dll — 2007 Microsoft Office system

Developer: Microsoft · Ver: 12.0.4 · Size: 39.3KB

OFFOWCI.dll — Microsoft Office 2010

Developer: Microsoft · Ver: 14.0.4 · Size: 516.9KB

Office.dll — Microsoft Office 2010

Developer: Microsoft · Ver: 14.0.4 · Size: 437.9KB

Понравилась статья? Поделить с друзьями:
  • Dll for excel 2003
  • Dll file not found excel
  • Dll excel visual studio
  • Djvu чем открыть word
  • Djvu в word скачать торрент