Question

replace text in word file

Asked by: mrduckers

Hi,

Using ASP, is it possible to open a .doc, and replace a word in it?

The web server does not have MS Word installed on there.

The idea:
1. Use a word doc as a template.
2. tag doc template areas with "dear <FIRSTNAME>"
3. Read/open the file and replace with yoru variable over <FIRSTNAME>

I've seen some other solution by willi70
 but I get permission errors and I think this is dependant on the server havign Word. I can purchase Word on the server if needed)
http://www.experts-exchange.com/Web/Web_Languages/ASP/Q_20736795.html?query=edit+word+doc&topics=97


Thanks,

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2006-11-03 at 04:47:46ID22047816
Tags

replace

Topic

Active Server Pages (ASP)

Participating Experts
4
Points
250
Comments
34

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Word templates.
    I'm trying to present the Word templates hierarchy in my program as a submenu of the "File | Create New >" menu item. Word 2000 has all templates stored under the "\Program Files\Microsoft Office\Templates\1033\". But when you create a new document in ...
  2. ASP and Word Integration
    Hello all, Here is the situaton: I have a word document on the server. Which has a logo at the first pharagraph, and a big table with some text in some cells and empty cells. The word document has no bookmarks. I want to achieve the following with ASP (Classic ASP) running...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: thefritterfatboyPosted on 2006-11-03 at 06:29:26ID: 17866534

Would it be possible for your document to be Word 2003+ format? (I think it would open in 2000 but definately not in the '97 version)

If so, you could look at using XML to generate a document. If you open your document in Word 2003 and select "Save As.." you can select the XML format. Renaming this document to have a .doc extension is advisable - Windows likes to handle XML document to check their type before opening but it's not foolproof - having a .doc extension ensures Office opens the document.

Once in XML format, you can easily open the file as a text file on the server and replace what you need to replace.

If not, you'll need to install word on the server.

 

by: mrduckersPosted on 2006-11-03 at 06:33:51ID: 17866572

Lets say I install word on the server -how would I approach this.

NOTE: the end user is dumb.

I will be creating a form for them to enter n the name, address and other fields which will populate the word template. this should then prompt them to download after they click submit.

The file can be saved and processed on the server but the end user should just have to fillin the fields and click submit and save.

 

by: thefritterfatboyPosted on 2006-11-03 at 06:59:47ID: 17866832

When Word is installed, it offers some pretty advanced stuff via the COM components. (It's also VERY resource-intense, so if avoidable, try to avoid using it. It's also prone to random crashes / staying in memory.)

The document object allows object-oriented access to the document and allows you to change values and aspects of the document programatically.

Set WordApp = CreateObject("word.application")
          Set WordDoc = WordApp.Documents.open("c:\file.doc")

'you can go to selections in the document using the document object

WordDoc.Selection.GoTo what:=wdLine, which:=wdGoToAbsolute, Count:=1 'goto line 1
WordDoc.Selection.GoTo what:=wdGoToTable, which:=wdGoToAbsolute, Count:=1 'goto table 1

I'd strongly advise against installing word on the web server, though. A few requests at the same time and your server pretty much just hangs. Seriously consider a third-party tool for editing/creating word documents. They are designed for server use - Office is not.

 

by: mrduckersPosted on 2006-11-03 at 15:09:59ID: 17870982

Thanks for your insightful information

Do you have example of 3rd party products?

 

by: kevp75Posted on 2006-11-03 at 17:36:56ID: 17871453

i'm curios as to why go this route?

Why not:
1) Have your form
2) Save the data to a db of some kind
3) Export the results of the recordset to a word document?

 

by: mrduckersPosted on 2006-11-03 at 17:55:23ID: 17871498

The word document is a letter template.

The letter template would be used on a site where people could use the the form will to fill out their personal details and address on the word document.

What you said is ok but how would i export the results of the recordset to the word document.?

 

by: kevp75Posted on 2006-11-03 at 18:05:23ID: 17871513

have a link that says 'Export To Word'

something like:
<a href="/page.asp?export=word">Export To Word</a>

on the same page (page.asp)
at the top of the page:

expWord = request.querystring("export")
if expWord = "word" then
  Response.ContentType = "application/vnd.ms-word"
end if

 

by: mrduckersPosted on 2006-11-03 at 18:20:17ID: 17871599

I think I tired this and it ask me to install import features.

In addition, I think it give me an unformatted couriour font document.

Am I correct or is there another method?

 

by: kevp75Posted on 2006-11-03 at 18:38:56ID: 17871761

you think?

have you tried like I showed?  (I've never had a problem with this method)

try what I said.  Put in the link on your page to link to iteslf with the querystring I posted...

if what I initially posted doesn't work try:

expWord = request.querystring("export")
if expWord = "word" then
   Response.Buffer = True
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "inline; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like
end if
'just make sure this is at the top of your page

 

by: mrduckersPosted on 2006-11-03 at 19:18:18ID: 17871929

on the code above, is the content stored as a varible?

strContent = "xxx" ?

 

by: kevp75Posted on 2006-11-03 at 19:39:39ID: 17871963

i don't see strContent anywhere in this entire thread

have you tried what I have suggested yet?  (or are we just wasting time here?)

 

by: mrduckersPosted on 2006-11-04 at 02:48:12ID: 17872741

I've tried somethign like this.

It prompts you to save the page and you select "All files" and change the extension.

After that you go and open the file and the content from that page is in the doc and unformatted.

I need to use the original Word template as it contains formatting.


Regards,

 

by: kevp75Posted on 2006-11-04 at 07:27:05ID: 17873520

ok, since you aren't going to try the solutions (which do work...especially the second one), I do feel you are wasting our time now.

Good Luck to you...I'm done

 

by: kevp75Posted on 2006-11-04 at 08:38:19ID: 17873687

i see what goes on now.

I'm adding in an export to word/excel/pdf to a time card application I'm building.

I notice that if I have this:
 Response.AddHeader "content-disposition", "inline; filename = ASP_Word_Doc.doc"

the formatting stays, however once I make it an attachment ( Response.AddHeader "content-disposition", "attachment; filename = ASP_Word_Doc.doc" )

I lose the formatting.  What I ended up doing was moving the needed styles to the page directly (CSS), rather than linking the CSS file, and whammo.  it worked

 

by: mrduckersPosted on 2006-11-05 at 14:03:23ID: 17877694

Your above code works, but how do I replace a field in there?

Lets says <FIRSTNAME> in doc with request.form("firstname") from a form?

 

by: kevp75Posted on 2006-11-05 at 14:21:47ID: 17877763

ok, what you should be doing is adding this code to the page that processes the form, not on the form page itself.

so if you have page1.asp which contains the form.  You then click submit, and it goes to another page(page2.asp) which does the processing.  Process your form results as you wish, display the results, then Have the code on that page to export the results to word

(this is what I said originally in my first post)

 

by: mrduckersPosted on 2006-11-05 at 14:29:04ID: 17877804

I can increase the points to 500 if you can supply/alter the code below.

Lets say in my word document has soem text in it <NAME> - I want to replace it with my form field "name" as below.

If I use:

form.asp
<form action="process.asp?export=word" method="post">
<input type="name">
<input type="submit">
</form>

process.asp
<%
expWord = request.querystring("export")
if expWord = "word" then
   Response.Buffer = True
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "inline; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like
end if
%>

Thanks.

 

by: kevp75Posted on 2006-11-05 at 17:30:10ID: 17878363

form.asp
<form action="process.asp" method="post">
<input type="text" name="FieldName">
<input type="submit">
</form>

process.asp
<%
expWord = request.querystring("export")
if expWord = "word" then
   Response.Buffer = True
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "attachment; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like, also change this to inline if you want to make the browser attempt to open it first
end if
strFieldName = replace(request.form("FieldName"),"'","''")
response.write("<a href='/process.asp?expWord=word'>" & strFieldName & "</a>")
%>

 

by: mrduckersPosted on 2006-11-05 at 18:44:09ID: 17878559

Hi Kev,

I don't see how the above code will swap the form field "Name" with the text "<NAME>" in the word document but i'll give it a try.

All I see ti doing is putting the name in the link.

Regards,

 

by: kevp75Posted on 2006-11-05 at 18:55:52ID: 17878587

sorry.

do this instead.  Keep form.asp the way I posted.

make process.asp

<%
   Response.Buffer = True
   response.write(replace(request.form("FieldName"),"'","''"))
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "attachment; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like, also change this to inline if you want to make the browser attempt to open it first
%>

instead

 

by: getePosted on 2006-11-06 at 02:13:56ID: 17879904

@kevp75, I think what happened is:
1) There is an _existing_ Word document written by user and then saved at web server machine, e.g as C:\template.doc
2) Inside template.doc, there is a word "<NAME>" serving as a place holder, i.e. similar to mail-merge operation
3) mrduckers want to generate a _new_ Word document which is basically a copy of template.doc, but with modified content, i.e. replacing "<NAME>" with "John Doe".

As it has been pointed in several occassions, the code you've given doesn't deal with any existing Word document serving as a template. If I may guess, your idea is to keep/have the template not in an existing Word document but rather in HTML/ASP code.

If the existing Word document is a must, as thefritterfatboy mentioned, it can be done by automating Word application via COM.

 

by: kevp75Posted on 2006-11-06 at 05:39:47ID: 17880815

very true gete, and it is a good possibility.

though my whole point with it,was to prevent him/her from having to go out and buy word so he/she cn install it on the server

if what gete states is true mrduckers, than you would have to go and make sure word is installed on the server, then give IUSR_machinename read write access to the folder that contains the word document, and follow the fritterfatboy's suggestions

 

by: thefritterfatboyPosted on 2006-11-06 at 06:31:02ID: 17881119

If you need the documents to be Office 2000 friendly, then you will need to install Word on the server. (If this is the case - install Word 2000 - it is much less resource-intesive than Word 2003.)

If you are pretty sure your users will be using Word 2003 (as i suspect most users are), then you can create word documents in XML, as suggested earlier. Microsoft are very keen on developers using XML to create / edit documents on the fly as it is future proof. (We all remember the 1997 - 2000 file format change which caused a lot of problems!) This decision, on paper, is the better option. But obviously you need to consider the real world aspects of your system and whether you need Office 2000 compatability.

Post back once you have made a decision and we can help you through your code to get it working.

 

by: mrduckersPosted on 2006-11-06 at 14:03:44ID: 17885148

I'm not too keen on installing Word on the server as it might effect our other sites/clients.

This doesn't leave too many options right?

Does this mean I need to find a 3rd party component?

 

by: kevp75Posted on 2006-11-06 at 14:11:37ID: 17885224

no.  It means you need to try what I've been posting this entire thread.

I've given you the answer, now you need to try it out and tell us the results:

form.asp
<form action="process.asp" method="post">
<input type="text" name="FieldName">
<input type="submit">
</form>



process.asp
<%
   Response.Buffer = True
   response.write(replace(request.form("FieldName"),"'","''"))
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "attachment; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like, also change this to inline if you want to make the browser attempt to open it first
%>

 

by: mrduckersPosted on 2006-11-06 at 21:29:53ID: 17887046

Hi Kev,

I already tried this yesterday. The above code doesn't do anything apart from ask me to save the file.

I needed to replace some copy in the word document.

Regards,

 

by: NTJOCKPosted on 2006-11-06 at 22:46:06ID: 17887308

I don't mean to be rude.... but why are you trying to do this with ASP?  Why not just open a copy of the document and do a find/replace?  That's what we always used to do with placeholders.  

This is a bit like trying to design a robot to crush the bug in front of you.  It will cost you a substantial amount of time and energy when you could just step on it and be done.

The macro capability in word is pretty incredible.  

That said, Word is pretty much a proprietary file format and unless you rever to saving things as text you are going to eventually find unexpected events (surprises).

If you do store things in text files, then use the file i/o stuff to read a line and write a line.  Read from your template and write to the new file.  Just do a replace command on each line as you read and write it.  This is fast and efficient.  You are still stretching what ASP is for and it will punish you dearly for it with server performance and timeouts.

I'd actually also suggest looking at writing a VB app for this.  This is a classic OLE/OLAP application and auto-generating documents would be quicker in a VB app that was standalone.  Although, frankly the 20 cent solution here is a macro of a find/replace.

If you have *alot* of these you could switch it to a mail merge and specify the output as a new document.

 

by: mrduckersPosted on 2006-11-06 at 22:50:13ID: 17887315

The tool is a only respoitory of documents, manuals and some word document email templates.

From the tool the "client" wants to make things as easy as possible. Eg. populating the word document with the persons details.

I have suggested doign this through macros, but a person word security settings may be too high, and the client thinks the end user it too dumb to turn off.

Nevertheless, I don't think this is acheivable through ASP.


Regards,

 

by: NTJOCKPosted on 2006-11-06 at 23:27:31ID: 17887391

UGH.... it may be achievable but a huge PIA (pain in the a)))

Why not store the links to the documents in a DB and just make it easy to find stuff that is a template.

I think Macros are the 30 minute solution.


I did find this when I googled...
http://www.powergrep.com/msword.html

Grep for MS-Word.  You might be able to run it under the covers either on the client side or the server side.

In either case, ASPupload will take some headache out of the file side.  I use it to "replicate" master documents (PDFs) to client specific folders as part of a ASP based process.

so what I would do is have the templates in a safe place.

Have the user "kick-off" the process.
Display some pretty graphics for them.
use Asp Upload to make a copy of the file.
store the filename in SQL.
Call a stored procedure in sql to do your command line dirty work.
Display the results of your "web process" to the user.

Get a coke and enjoy a laugh.... :)

I think security limitations will choke you trying to run command line processes from ASP.  So I'm suggesting circumventing that with SQL Server.  I know you can call all sorts of stuff through stored procedures.

You could also write the stuff to a file and then have a 5 minute job that runs whatever is in the queue (or a 2 minute timer)
and just have the pretty graphics animate for a few minutes and then go look for the result file.  

lol, kick it out to batch, display graphics for 30 seconds, check for file, if done display, else display graphics for 30 more seconds.

Let me know if that helps.

 

by: thefritterfatboyPosted on 2006-11-07 at 01:02:26ID: 17887690

Kev,

Surely the correct order sould be;

process.asp
<%
   szHTML = "<html>My name is <NAME><!-- you can create / save a Word document in HTML. Either put the string here, or load the string from a file --></html>"
   Response.Buffer = True
   Response.ContentType = "application/vnd.ms-word"
   Response.AddHeader "content-disposition", "attachment; filename = ASP_Word_Doc.doc"  'you can change this filename to whatever you like, also change this to inline if you want to make the browser attempt to open it first
   response.write(replace(szHTML,"<NAME>", request.form("name")))

%>

 

by: kevp75Posted on 2006-11-07 at 05:49:47ID: 17889144

@thefritterfatboy

it may be, but being frustrated as I was  (with all the "I think that won't wotk's") from the questioner, I tried it out exactly how I posted it, and it worked for me...

@the questioner
it's not a good idea to force the document to open in any circumstance, however if you read the comment I put in after the Response.AddHeader line you will see that I mentioned to change the attachment portion of that to inline....

since the answer is in front of your face, and since you are un-willing to do anything other than say "I think that won't work", it is obvious you are one of those people who won't take a suggestion because you are always right and everyone else on the planet is wrong.....good luck to you, hope you can figure it out on your own

 

by: NTJOCKPosted on 2006-11-07 at 06:05:15ID: 17889300

@kevp Your solution doesn't seem to do what he wants.  You're also being pushy/rude about his lack of interest in your solution.  Be professional.  Your solution does seem to open the document, but it doesn't meet the find/replace criteria.

I suspect that this is a legal/medical/government application where they have low-skill employees accessing pre-done documents.  Each employee then replaces <name> <problem> <address> with the right info and saves a new copy, prints, and disseminates "official" correspondence.  While it's a bit arcane it's a great way to save time when churning out alot of documents that have to be in one form or another.  Think state form letters about some state program where the language has to be "just so".

I think they were just exploring ASP as a way to do dirty work, not as a replacement for Word.  If anything my read on this is that they are trying to take as much "thinking" out of the user activity stream as possible.  This would be a good use of ASP.

1) Select issue
2) Enter personalization
3) Retrieve "base" document that can be processed.  (base document = personalization+template)

I could be very wrong here on what they are doing, but that is what I read.  Your code

 

by: thefritterfatboyPosted on 2006-11-07 at 06:14:46ID: 17889386

Kev, I'm gonna have to agree with ntjock on this one. I think a sense of professionalism needs to be re-introduced into this thread.

 

by: getePosted on 2006-11-07 at 08:13:38ID: 17890522

Now that we're clear that it's *required* to edit existing/precreated Word files and not generating a new one from scratch (HTML/ASP), continuing the discussion:

I'm thinking along what ntjock suggested. If the end users are not savvy enough and will be alarmed by macro security warnings, another idea is as follow:
1) User enters the info via a web form and click submit/download
2) Server make a copy of the Word document, e.g. template.doc
3) Server generate a VBScript (.vbs) file containing submitted info from web form and code to automate Word to modify template.doc in user's own PC
4) Server compress/zip both files and create a self-extracting executable with default action is to run the script.
This way template.doc needs no macro. I know it's complicated and step 4 requires yet another server side component to create zip/exe file. But that's an idea.

Regarding 3rd party component that's suggested earlier by thefritterfatboy, you may want to read this:
Considerations for server-side Automation of Office
http://support.microsoft.com/kb/257757

It lists several 3rd party vendors:

Aia Software B.V.
http://www.aia-itp.com (http://www.aia-itp.com)

Polar
http://www.polarsoftware.com (http://www.polarsoftware.com)

SoftArtisans
http://www.softartisans.com (http://www.softartisans.com)

SyncFusion
http://www.syncfusion.com (http://www.syncfusion.com)

Keylogix
http://www.activedocs.com

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...