Solved

word, excel file creation without attaching reference dll

Posted on 2009-05-15
3
717 Views
Last Modified: 2013-11-27
right click on the windows desktop shows a menu "New". anyone can create new file like word, excel, access etc by selecting the corresponding file type. i am writing code in vb.net 2008 express edition. i wantto create various files like that interface. i want to create exs. xtsx, doc, docx etc. through my code. everywhere i found i have to add the corresponding old/tlb files or dll for excel, word etc. but in my development PC office 2007 is there, but in client PC office 2003 may be there. so i can not attach that reference as it will not work in those pc. any suggestion for this problem? can i create doc/docx, xls/xlsx files without adding the reference in my code? thanx in advance. I tried the following code, but creation of docx generates problem in that process, the docx is creating but not opening by that method. any alternative?
Dim fs As New FileStream(gsParent2FullPath & "\" & gnodCurrent.FullPath & "\" & InFileName, FileMode.CreateNew, FileAccess.ReadWrite)
                fs.Close()

Open in new window

0
Comment
Question by:Amitava_Mukherjee
3 Comments
 
LVL 5

Expert Comment

by:prashantagarw10
ID: 24394934
Hi,
You have following options :
1. Check dynamically at run time if the user has office 2007 or higher or not. If found then create the docx/xlsx file as per current code otherwise create the doc/xls file.
2. If you do not want to attach any refrence tlb or dll in your installer then include a template files for doc/docx/xls/xlsx in the installer of your application. On user selecting to create a file create  a copy of your template file to user defined location and name and format(doc or docx). In this even if user does not have any installation then also he can create a office file.

Cheers!!!
0
 
LVL 16

Accepted Solution

by:
ToddBeaulieu earned 500 total points
ID: 24394971
This sounds awfully familiar. I ran into something similar a few years back. I wrote an application that used Excel and had references to it, but users had different versions.

I know at one point, I used hard references during the development cycle, but then removed them and replaced the office-specific variables with "object" variables, and the "new {specific class}" statements with "CreateObject("Excel.WorkBook")" statements. This let me use Intellisense during development, but switch to late binding for the user.

I *believe* you can also develop on a machine with the lowest version of office in use and it will work with newer versions at runtime (forward compatible, not backward compatible).

But I think the first technique is probably the best way to do it.
0
 

Author Closing Comment

by:Amitava_Mukherjee
ID: 31581868
Thanx, nice solution
0

Featured Post

How Do You Stack Up Against Your Peers?

With today’s modern enterprise so dependent on digital infrastructures, the impact of major incidents has increased dramatically. Grab the report now to gain insight into how your organization ranks against your peers and learn best-in-class strategies to resolve incidents.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Office Picture Manager was included in Office 2003, 2007, and 2010, but not in Office 2013. Users had hopes that it would be in Office 2016/Office 365, but it is not. Fortunately, the same zero-cost technique that works to install it with …
Outlook Free & Paid Tools
This video shows the viewer how to set up and create Footnotes in their document. Click on the References tab: Select "Insert Footnote": Type in desired text:
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question