The Problem (Q-score 4, ranked #165th of 303 in the Excel VBA archive)
The scenario as originally posted in 2012
I have a web project (.NET 4) that needs to access an Excel file, but it ends up with the following error message:
Error occurred during file generation.Microsoft Excel cannot access the file 'D:xxxxabc.xls'.
There are several possible reasons:
⢠The file name or path does not exist. (Actually it is there)
⢠The file is being used by another program. (It can not happen)
⢠The workbook you are trying to save has the same name as a currently open workbook.
In IIS7, I use DefaultAppPool with the identity “myservice” who is under the group of Administrators.
In the authentication page of my website under IIS, anonymous authentication was enabled and set to “Application pool identity” and ASP.NET impersonation was disabled.
After searching the solution for hours, I found the following but none of them work
- Create folder in C:WindowsSysWOW64configsystemprofileDesktop. Please refer:this
- Grant rights of “myservice” in Component Services. Please refer:this
One thing strange, there is nothing in the Group of IIS_IUSRS. Is that normal? I remember at least two users (DefaultAppPool & Classic .NET AppPool).
I assume that is a permission problem of IIS, but I can not solve it.
Why community consensus is tight on this one
Across 303 Excel VBA entries in the archive, the accepted answer here holds solid answer (above median) status — meaning voters are unusually aligned on the right fix.
The Verified Solution — solid answer (above median) (+11)
Verbal answer — walkthrough without a code block
Note: the verified answer is a prose walkthrough. If you need a runnable sample, check Excel VBA entries ranked in the top 10 of the same archive.
Problem solved!!!!!!!!!! My Excel is 2010 , should create “Desktop” folder in C:WindowsSystem32configsystemprofile
When to Use It — vintage (14+ years old, pre-2013)
Ranked #165th in its category — specialized fit
This pattern sits in the 97% tail relative to the top answer. Reach for it when your scenario closely matches the question title; otherwise browse the Excel VBA archive for a higher-consensus alternative.
What changed between 2012 and 2026
The answer is 14 years old. The Excel VBA object model has been stable across Office 2013, 2016, 2019, 2021, 365, and 2024/2026 LTSC, so the pattern still compiles. Changes that might affect you: 64-bit API declarations (use PtrSafe), blocked macros in downloaded files (Mark-of-the-Web), and the shift toward Office Scripts for web-first workflows.