Archive for the 'Software Parlor' Category

My Best Guidance Concerning Employee Reviews

Posted in Entrepreneurs, Management + More, Software Parlor, Web Management on February 28th, 2010

As well as by increasing income, profits can also be generated by cutting costs and by more productive use of time. One of the better ways of doing this involves employee performance appraisal software.

You see, we all know that making the most out of your business requires a knowledge of in what areas each and every one of your staff work best, and a knowledge of how to tailor your routines to suit. While this knowledge is highly useful, it isn’t exactly effortless to obtain.

Simply tracking staff evaluation and identifying progress in their performance is a significant task. The first step is to bring employee evaluation systems into play. This allows you to appraise the work of each member of staff. Assessing this information comes next. Before it’s ready to use determining goals and identifying future development it’s important to know what the data translates to in practice. Using performance appraisal software, all you need to do is look at the various metrics to identify what these objectives should be and then chart the member of staff’s progress. Generating as it does more precise information for a smaller investment of time, this can be a cost saving measure on its own. If you choose to it’s possible instead to make your own analysis, merely using the software to generate and maintain a full record to use as a basis. It goes without saying that it isn’t just the performance of employees that you can improve by advice from performance management software. It’s often worth studying clients and suppliers to better pace your ordering and conserve money. For example, when looking at suppliers you can more easily see the weaknesses like slow delivery times, bad loss records, and so forth. Clients are assesed in terms of a different metric, and as with internal matters and suppliers this information can be used to benefit your bank balance. Using this information you can tailor your ordering and selling habits to increase income and cut costs. As well as this, a greater understanding of your target demographics will allow more efficient marketing. Performance management software allows you to track your sources so you can cut costs and watch your market to customize your plans and develop your profits. In tandem with a program of regular employee reviews this app is certain to accelerate employee performance management. All in all, it’s clear that the potential benefits of this system are endless and will depend entirely on your creativity and ability to use what you learn…

Experience Renewed Business Success by Understanding the Functions of Alfresco Web Site WCM

Posted in Software Parlor on February 18th, 2010

Everybody knows that Alfresco web site content management systems (WCM) have definitely changed business practices regarding the Net and other relevant information. WCM software has now been developed to the point where it can easily operate with existing systems to ensure workplace effectiveness. To effectively use a WCM it must implement these important points.

Firstly it is essential to realize that there is a difference between our web content management software and others currently available. The data, be it unrefined or structured, is received and sorted by the Alfresco CMS. To assist personnel working from the company building and external visitors, it collates the data to be readily accessible. The content that is compatible include word docs, image files, Net files et cetera.

Your choice of a good Alfresco WCM is required to easily work alongside the programs. See if your WCM has the functionality to revise the info in question. Compare the process as being similar to the comments section on a web site. If for some reason any data has not been processed, then the WCM content management is insufficient for the task. Keep an eye out for software incompatibility as regards to specific configurations and proprietary software. Please note that this is only a fraction of how to efficiently use your WCM. In an ideal situation, web browsers should be able to understand the processed info. This usually means assimilating CSS, HTML, PHP, XML code.

It is obvious but try not to forget security for your system. It encompasses keeping appropriate data private and accessible only by persons as well as authorized third party surfers. For accumulating, integrating and dissemination of info, Alfresco CMS is known to produce quality results. Because of its expansive, safe and effective integration process, the time spent working with your CMS will definitely be vastly decreased, improving any time management issues.

Mansfield Law Firm, Reverse Craigslist Software, Fort Worth Home Inspectors

Posted in Best Home Improvement, Legal Issues, Software Parlor on February 3rd, 2010

Mansfield law firm The Hale Law Firm, P.C. serves a broad spectrum of businesses and individuals with a base of our offices in Waxahachie, Texas, The Hale Law Firm enjoy working with all of our clients clients throughout Ellis and Dallas County, including: Ovilla, Waxahachie, Midlothian, Red Oak, Ennis, Ferris, DeSoto, Glenn Heights, Lancaster, Duncanville, Cedar Hill, Dallas, Grand Prairie, Mansfield.
Reverse Craigstlist software can provide incredible results for your business. It produces the ability to quite literally develop hundreds to thousands and thousands of potential leads in as little as a few minutes by parsing through info from ads on craigslist. This easy reverse craigs list software can supply a chance to literally drive you business to the next level. You can pick what niche you are interested in and which specific geographical areas, then push a button, sit back, and watch the leads come in. After this you then can make direct contact to these leads or manage them, export, save, and more. There are different versions and brands of reverse craigs list software as well as data mining software now. Consider this version for the best and most reasonably priced and easy to use reverse craigs list software on the market period. If you need leads, find qualified leads, and very tergeted leads, you will want to check out the best reverse craigs list software today.
That is why when your TexInspec Inspection has been completed, you will have A Free 90-Day Termite and Carpenter Ant Warranty, an instant computerized report printed onsite which includes a summary page of necessisary repairs and a color photo journal of the home, plus a copy is e-mailed to you real estate agent immediately from the inspection site
A guide “Coping With the Joys of Home Ownership” which is written for Dalls homebuyers, to help understand your new home, is also provided.
You need a Fort Worth home inspectors service that is not only knowledgeable about Fort Worth homes but who also makes sure you are informed properly to help you in your decision making process, insuring you make the best one possible.

Home Inspection Software, Mansfield Law Firm, Reverse Craigslist Software

Posted in Best Home Improvement, Legal Issues, Software Parlor on November 28th, 2009

Home inspection software IQ6000 has been developed with quite a bit of frustration while using quite a few other home inspection software programs and with twenty five years of experience performing home inspections, tapping into that experience, I have created IQ6000. IQ6000 was produced to be exceedingly easy to learn and use. You should be able to understand it after viewing 1 hour of instructional videos, and be able to use it to perform an inspection. If you experience or have problems or questions, simply just e-mail us and I will walk you through the home inspection software. You have the ability to change all of the options, output the report to PDF, burn to CD, e-mail, or print. You can establish databases of inspection reports, realtors, and attorneys. Backing it up is easy, just click and drag. It’s compatible with both PC and Mac, and the best thing is, IQ6000 home inspection software is completely free. There are no setup fees, no upgrade fees, you just are assessed a feee for each report, you are offered a variety of bulk purchase options, as well as monthly subscription models available. Home inspection software IQ6000 is the home inspection software of choice for for the modern home inspection firm.

Waxahachie law firm The Hale Law Firm, P.C. serves a broad spectrum of individuals and businesses from our home offices in Waxahachie, Texas, Mansfield Law Firm The Hale Law Firm represent clients throughout Dallas and Ellis County, including: Ovilla, Waxahachie, Midlothian, Red Oak, Ennis, Ferris, DeSoto, Glenn Heights, Cedar Hill, Lancaster, Duncanville, Mansfield, Grand Prairie, Dallas.

Reverse Craigstlist software can provide incredible results for your business. It can give you the ability to literally produce thousands of potential leads in as little as a few minutes by mining data from postings on craigs list. Simple reverse craigs list software can allow a chance to quite literally drive you company to the limit. You just pick what market you are aiming at and which specific geographic areas, push a button, sit back, and watch the leads roll in. You then are able to send an e-mail to these leads or save, manage them, export,, and more. There are many companies now developing versions of reverse craigslist software and data mining software now.

Hosted Unwanted Message Filtering Means no Maintenance Worries

Posted in Online Media, Software Parlor on November 3rd, 2009

Outsourcing your e-mail server and junk mail protection to a hosted providor reveals several benefits

With rising volume of spam e-mails that drain a substantial amount of companies financial resources and eat bandwidth, outsourced hosted server could give them freedom from this headache and increase their productivity.

Internet is a necessity and an inevitable part of day-to-day activities but when it becomes a source of unsolicited junk e-mails or spam, then it could be very annoying and distressful to both the network administrators and those who own or manage a company.

Web spreads out widely and is now available for everybody in all age groups, which has a huge impact on the amount of spam mails and following that, an increased cost using time and resources to clear junk and ilegitimate mail from the mail boxes. It is very common to underestimate the cost of getting rid of spam - the reason is that is just takes a couple of seconds to remove one single spam e-mail. But when spam mails suddenly appear in hundres or thousands on a daily basis it becomes a serious problem - consuming time and users’ focus.

Unwanted e-mails do not just play the role of being annoying, they have a major side effect on the performance of an entire organisation ocuupying network and abusing bandwidth. All ilegitimate mails submitted consumes bandwidth and often spam mails account for as much as 50% of the entire network consumption.

A slow and ineffective network hits all businesses - from the large companies the have their own dedicated team taking care of IT securiry to small businesses, that has a smaller budget for online protection. Furthermore, governments at all levels - local and regional - have tried to implement legislation aimed at spammers, unfortunately this has not helped fight spam sufficiently as spammers are able to continue their criminal activities using the latest and most advanced technologies.

Spam e-mailers have formed their own underground community equipped with networks of hosted computers and innovative attack methods. A number of studies have shown that spam are draining financial resources and posting security threats to organizations by exposing their networks to malware, spyware and other malicious codes.

Such security threats stress the need to implement advanced spam filtering on hosted e-mail servers to decrease the cost of operating and protecting the internal network from collapse. Oursourcing all mail services can especialy help companies to remove the online threats caused by spam.

One strong feature of employing outsourced hosted server is time saving as companies do not need to be worry about hardware/software integration and maintenance of installed equipments. Professional personnel monitor their systems day and night and makes sure every single unwanted mail is blocked and quarantined passing only legitimate e-mails to the the end users’ inbox.

The hassle of clearing user inbox everyday rests with the outsourced hosted server, which also provides valuable information that makes the process understandable to less tech-friendly users.

Author:Martin Faklor

Microsoft Great Plains: Getting New Users Licenses - Annual Service Plan FAQ

Posted in Software Parlor on June 20th, 2008

Microsoft Business Solutions Great Plains, Solomon, Navision, Axapta, Microsoft CRM require existing customer to be on active service contract: enhancement program. Minimal maintenance plan gives you free new software version (however upgrade itself, if it is done by your MBS partner is not free). If you are outside of USA/Canada: Mexico, South America, UK, South Africa, France, Australia, New Zealand - you may have different promotion campaigns and might be not required to be on the service contract. In this article we assume that you are US/Canadian client.

• Can I get new licenses without being on the service contract? The answer is no - we tried to negotiate with MBS on behalf of midsize and large corporate clients, who are so-called orphans, or without support/service plan. Please, understand the rules of ERP application support. It is normal practice when large business ERP requires service plan. Microsoft Business Solutions in turn requires its MBS partners to pass multiple certification and quality assurance (QA) tests

• What is re-enrollment fee? Currently reenrollment fee is 35% of the software price list. From time to time you may catch re-enrollment promotion campaigns, the minimum known was 20% (September/October 2004). If you are on version eEnterprise 6.0 and skipped 4 annual payments (16%) and now in order to upgrade to Great Plains Professional 8.0 you pay 35% (which includes 16% enhancement plan for the next year), then your penalty is just 19% - I’d say go ahead and reenroll.

• Great Plains Standard vs. Professional. Great Plains Standard (or former Great Plains Dynamics) has certain limitations: number of users is capped at 10 and number of employees (US Payroll) is capped at 500. Great Plains Standard is available on MSDE and MS SQL Server

• New Modules Addition. The same rule applies - you have to be on enhancement program to get additional modules. So, if you need say Fixed Assets module and if you are without support - you need to reenroll in order to get FA module reg key.

• Customization Upgrade. If you need Great Plains Dexterity, Modifier/VBA, Continuum, eConnect. SQL Stored procs customization upgrade, you need to find MBS customization partner. As your customization was done by somebody else in the past (who probably is out of business now), we or the partner you select can not guarantee the upgradeability of your custom piece - we’ll try our best.

• Reports Upgrade. Good news - if you have Crystal Reports, working with Great Plains Dynamics/eEnterprise 6.0 - then upgrade should be simple, because table structure didn’t change - only minor changes were introduced.

• Switching to Great Plains. If you are considering Great Plains to be your ERP, we know successful implementations, customizations in the following industries: aerospace & defense, textile, non-profit, services, recruitment & placement, oil & gas, pharmaceutical, hospital & healthcare, transportations, distributions, logistics & supply chain management, education, government, beverages, jewelry, gold & mining.

Good luck and you can always seek our help in customization, implementation, integration and support. Call us: 1-866-528-0577 or 1-630-961-5918, help@albaspectrum.com

Andrew is Great Plains specialist in Alba Spectrum Technologies ( http://www.albaspectrum.com ) - Microsoft Great Plains, Navision, Microsoft CRM Partner, serving clients in
California, Minnesota, Illinois, Washington, Florida, Arizona, New York, New Jersey, Virginia, Georgia, Louisiana, Texas, Canada, UK, Australia, Brazil, Germany, Russia

Insurance Software

Posted in Software Parlor on May 2nd, 2008

Insurance software can be tailored to meet the needs of any business from small home offices, Third Party Administrators (TPA) to large administrators and insurance management companies. The three listed below are the most widely used and can be found in stores or on the Internet.

Individual health and life insurance software can support a range of life insurance and health insurance products. It should offer fully, integrated support for underwriting, new business processing, policy services, insurance billing, agent advances and agent commissions, insurance claims processing, management and statutory reporting, reserves, accounting, and more.

Group Health Administration software is used by group insurers, third party administrators (TPA), multi-employer trusts, and self-administered plans. This software provides support for enrollment, billing, accounting and collections, provider networks, managed care, referrals/pre-certification, insurance claims processing (including EDI), HIPAA, customer service, accounting, management reporting, and more.

Workers’ Compensation insurance software supports carriers, third party administrators (TPA), and self-insurance trusts. Integrated insurance software sould include quotes, policy issuance, insurance billing, accounts receivable, agent commissions, insurance claims processing, fee schedules and PPO network pricing, audits, extensive reporting, and more.

All in all, insurance software provides practically everything you need to manage and account for the details in an insurance business. However, they do not handle the necessary, direct face-to-face or telephone communication required for maintaining a customer base. The software, in other words, does no do all the work for you. It does, however, cut your workload down considerably, so that you can focus your efforts elsewhere. This is a boon for insurance agents worldwide.

Insurance Software provides detailed information on Insurance Software, Insurance Billing Software, Health Insurance Software, Litigation Insurance Software and more. Insurance Software is affiliated with Stock Trading Software.

Borland C++ MS Word Automation

Posted in Software Parlor on April 4th, 2008

Introduction

Originally, I wrote a C++ parser which was used to parse given MS Word documents and put them into some form of a structure that was more useful for data processing. After I wrote the parser, I started working with .NET and C# to re-create the parser. In the process, I also wrote my first article for Code Project, Automating MS Word Using Visual Studio .NET. Several people have requested to see the C++ version of the application, hence, I finally got some time to put something together. I have written this article with the intention of making it easier for someone who is looking for quick answers. I hope that people can benefit from the information provided and help them get started faster.

Background

No special background is necessary. Just have some hands on experience with C++.

Using the code

I think the best way to present the code would be to first give you the critical sections which you need to get an instance of MS Word, and then give you snapshots of code that perform specific functions. I believe this way will help you get started faster in developing your own programs.

The following block is the header portion of the CPP file.

Note: The most important include files are and . These are used for COM and OLE.

// Vahe Karamian - 04-20-2004 - For Code Project
//—————————————————————————
#include
#pragma hdrstop

// We need this for the OLE object
#include
#include
#include “Unit1.h”
#include
//—————————————————————————

#pragma package(smart_init)
#pragma resource “*.dfm”
TForm1 *Form1;
The following block creates MS Word COM Object. This is the object which will be used to access MS Word application functions. To see what functions are available, you can do within MS Word. Refer to the first article, Automating MS Word Using Visual Studio .NET.

As before, you can either make a Windows Forms Application or a Command Line application, the process is the same. The code below is based on a Windows Forms application, that has a button to start the process. When the user clicks the button, the Button1Click(TObject *Sender) event will be called and the code executed.

Note: To better understand the code, ignore everything in the code except the portions that are in bold.

TForm1 *Form1;
//—————————————————————————
__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)
{
}
//—————————————————————————

void __fastcall TForm1::Button1Click(TObject *Sender)
{

.

.

.

// used for the file name

OleVariant fileName;

fileName = openDialog->FileName;

Variant my_word;

Variant my_docs;

// create word object

my_word = Variant::CreateObject( “word.application” );

// make word visible, to make invisible put false

my_word.OlePropertySet( “Visible”, (Variant) true );

// get document object

my_docs = my_word.OlePropertyGet( “documents” );

Variant wordActiveDocument = my_docs.OleFunction( “open”, fileName );

.

.

.
So a brief explanation, we define a OleVariant data type called fileName, we assign a file path to our fileName variable. In the code above, this is done using a OpenDialog object. Of course, you can just assign a whole path for testing if you like, i.e., c:\test.doc.

Next, we define two Variant data types called my_word, and my_docs. my_word will be used to create a word.application object and my_docs will be used to create a documents object.

Next, we define another Variant data type called myActiveDocument. Using this referenced object, we can now do what we want! In this case, we are going to open the given MS Word document.

Notice that most of the variables are of type Variant.

At this point, we have a Word document that we can start performing functions on. At first, it might take a while for you to see how it works, but once you get a hang of it, anything in MS Word domain is possible.

Let’s take a look at the following code, it is going to be dealing with tables within a MS Word document.

.

.

Variant wordTables = wordActiveDocument.OlePropertyGet( “Tables” );

long table_count = wordTables.OlePropertyGet( “count” );

.

.
As I mentioned before, all your data types are going to be of Variant. So we declare a Variant data type called wordTables to represent Tables object in our Document object.

Variant wordTables = wordActiveDocument.OlePropertyGet( “Tables” );
The line above will return all Table objects that are within our active Document object. Since Tables is a property of a Document object, we have to use the OlePropertyGet( “Tables” ); to get the value.

long table_count = wordTables.OlePropertyGet( “count” );
The line above will return the number of tables in out Tables object. This is done by calling the OlePropertyGet( “count” ); to return us the value.

You might be wondering where do I get this information from? The answer to that question is in the first article: Automating MS Word Using Visual Studio .NET.

The next block of code will demonstrate how to extract content from the Tables object.

.
.
.
int t, r, c;

try
{

for( t=1; t<=table_count; t++ )

{

Variant wordTable1 = wordTables.OleFunction( “Item”, (Variant) t );

Variant tableRows = wordTable1.OlePropertyGet( “Rows” );

Variant tableCols = wordTable1.OlePropertyGet( “Columns” );

long row_count, col_count;

row_count = tableRows.OlePropertyGet( “count” );

col_count = tableCols.OlePropertyGet( “count” );

// LET’S GET THE CONTENT FROM THE TABLES

// THIS IS GOING TO BE FUN!!!

for( r=1; r<=row_count; r++ )

{

Variant tableRow = tableRows.OleFunction( “Item”, (Variant) r );

tableRow.OleProcedure( “Select” );

Variant rowSelection = my_word.OlePropertyGet( “Selection” );

Variant rowColumns = rowSelection.OlePropertyGet( “Columns” );

Variant selectionRows = rowSelection.OlePropertyGet( “Rows” );

long rowColumn = rowColumns.OlePropertyGet( “count” );

for( c=1; c<=rowColumn; c++ ) //col_count; c++ )

{

Variant rowCells = tableRow.OlePropertyGet( “cells” );

Variant wordCell = wordTable1.OleFunction( “Cell”,

(Variant) r, (Variant) c );

Variant cellRange = wordCell.OlePropertyGet( “Range” );

Variant rangeWords = cellRange.OlePropertyGet( “Words” );

long words_count = rangeWords.OlePropertyGet( “count” );

AnsiString test = ‘”‘;

for( int v=1; v<=words_count; v++ )

{

test = test + rangeWords.OleFunction( “Item”,

(Variant) v ) + ” “;

}

test = test + ‘”‘;

}

}

}

my_word.OleFunction( “Quit” );
}
catch( Exception &e )
{

ShowMessage( e.Message + “nType: ” + __ThrowExceptionName() +

“nFile: “+ __ThrowFileName() +

“nLine: ” + AnsiString(__ThrowLineNumber()) );
}
.
.
.
Okay, so above we have the code that actually will go through all of the tables in the Document object and extract the content from them. So we have tables, and tables have rows and columns. To go through all of the Tables object in a document, we do a count and get the number of tables within a document.

So we have three nested for loops. The first one is used for the actual Table object, and the 2nd and 3rd are used for the rows and columns of the current Table object. We create three new Variant data types called wordTable1, tableRows, and tableCols.

Note: Notice that wordTable1 comes from the wordTables object. We get out table by calling wordTables.OleFunction( “Item”, (Variant) t );. This returns us a unique Table object from the Tables object.

Next, we get the Rows and Columns object of the given Table object. And this is done by calling OlePropertyGet( “Rows” ); and OlePropertyGet( “Columns” ); of the wordTable1 object!

Next, we get a count of rows and columns in the given Rows and Columns objects which belong to the wordTable1 object. We are ready to step through them and get the content.

Now, we will have to define four new Variant data types called tableRow, rowSelection, rowColumsn, and selectionRows. Now, we can start going from column to column in the selected row to get the content.

In the most inner for loop, the final one, we again define four new Variant data types called rowCells, wordCell, cellRange, and rangeWords. Yes, it is tedious, but we have to do it.

Let’s sum what we did so far:

We got a collection of Tables object within the current Document object.
We got a collection of Rows and Columns in the current Table object.
We went through each row and got the number of columns it has.
We get the column and the cells, and step through the cells to get to the content of the table.
Note: Yes, some steps are repeated, but the reason behind it is because not all tables in a given document are uniform! I.e., it does not necessarily mean that if row 1 has 3 columns, then row 2 must have 3 columns as well. More than likely, it will have different number of columns. You can thank the document authors/owners.

So then the final step will just step through the cells and get the content and concatenate it for a single string output.

And finally, we want to quit Word and close all documents.

my_word.OleFunction( “Quit” );


That is pretty much it. The code does sometimes get pretty tedious and messy. The best way to approach automating/using Word is by first knowing what it is that you exactly want to do. Once you know what you want to achieve, then you will need to find out what objects or properties you need to use to perform what you want. That’s the tricky part, you will have to read the documentation: Automating MS Word Using Visual Studio .NET.

In the next code block, I will show you how to open an existing document, create a new document, select content from the existing document and paste it in the new document using Paste Special function, then do clean up, i.e., Find and Replace function.

Before you look at the block of code, the following list will identify which variable is used to identify what object and the function that can be applied to them.

Variables and representations:
vk_filename: existing document name
vk_converted_filename: new document name
vk_this_doc: existing document object
vk_converted_document: new document object
vk_this_doc_select: existing document selected object
vk_this_doc_selection: existing document selection
vk_converted_document_select: new document selected object
vk_converted_document_selection: new document selection
wordSelectionFind: Find and Replace object
// Get the filename from the list of files in the OpenDialog
vk_filename = openDialog->Files->Strings[i];
vk_converted_filename = openDialog->Files->Strings[i] + “_c.doc”;

// Open the given Word file
vk_this_doc = vk_word_doc.OleFunction( “Open”, vk_filename );

statusBar->Panels->Items[2]->Text = “READING”;

// ——————————————————————-
// Vahe Karamian - 10-10-2003
// This portion of the code will convert the word document into
// unformatted text, and do extensive clean up
statusBar->Panels->Items[0]->Text = “Converting to text…”;
vk_timerTimer( Sender );

// Create a new document
Variant vk_converted_document = vk_word_doc.OleFunction( “Add” );

// Select text from the original document
Variant vk_this_doc_select = vk_this_doc.OleFunction( “Select” );
Variant vk_this_doc_selection = vk_word_app.OlePropertyGet( “Selection” );

// Copy the selected text
vk_this_doc_selection.OleFunction( “Copy” );

// Paste selected text into the new document
Variant vk_converted_document_select =

vk_converted_document.OleFunction( “Select” );
Variant vk_converted_document_selection =

vk_word_app.OlePropertyGet( “Selection” );
vk_converted_document_selection.OleFunction( “PasteSpecial”,

0, false, 0, false, 2 );

// Re-Select the text in the new document
vk_converted_document_select =

vk_converted_document.OleFunction( “Select” );
vk_converted_document_selection =

vk_word_app.OlePropertyGet( “Selection” );

// Close the original document
vk_this_doc.OleProcedure( “Close” );

// Let’s do out clean-up here …
Variant wordSelectionFind =

vk_converted_document_selection.OlePropertyGet( “Find” );

statusBar->Panels->Items[0]->Text = “Find & Replace…”;
vk_timerTimer( Sender );

wordSelectionFind.OleFunction( “Execute”, “^l”,

false, false, false, false, false, true, 1, false,

” “, 2, false, false, false, false );
wordSelectionFind.OleFunction( “Execute”, “^p”, false,

false, false, false, false, true, 1, false,

” “, 2, false, false, false, false );

// Save the new document
vk_converted_document.OleFunction( “SaveAs”, vk_converted_filename );

// Close the new document
vk_converted_document.OleProcedure( “Close” );
// ——————————————————————-
So what we are doing in the code above, we are opening an existing document with vk_this_doc = vk_word_doc.OleFunction( “Open”, vk_filename );. Next we add a new document with Variant vk_converted_document = vk_word_doc.OleFunction( “Add” );. Then we want to select the content from the existing document and paste them in our new document. This portion is done by Variant vk_this_doc_select = vk_this_doc.OleFunction( “Select” ); to get a select object and Variant vk_this_doc_selection = vk_word_app.OlePropertyGet( “Selection” ); to get a reference to the actual selection. Then we have to copy the selection using vk_this_doc_selection.OleFunction( “Copy” );. Next, we perform the same task for the new document with Variant vk_converted_document_select = vk_converted_document.OleFunction( “Select” ); and Variant vk_converted_document_selection = vk_word_app.OlePropertyGet( “Selection” );. At this time, we have a selection object for the existing document and the new document. Now, we are going to be using them both to do our special paste using vk_converted_document_selection.OleFunction( “PasteSpecial”, 0, false, 0, false, 2 );. Now, we have our original content pasted in a special format in the newly created document. We have to do a new select call in the new document before we do our find and replace. To do so, we simply use the same calls vk_converted_document_select = vk_converted_document.OleFunction( “Select” ); and vk_converted_document_selection = vk_word_app.OlePropertyGet( “Selection” );. Next, we create a Find object with Variant wordSelectionFind = vk_converted_document_selection.OlePropertyGet( “Find” ); and finally, we can use our find object to perform our find and replace with wordSelectionFind.OleFunction( “Execute”, “^l”, false, false, false, false, false, true, 1, false, ” “, 2, false, false, false, false );.

That’s all there is to it!

Points of Interest

Putting structure to a Word document is a challenging task, given that many people have different ways of authoring documents. Nevertheless, it would help for organizations to start modeling their documents. This will allow them to apply XML schema to their documents and make extracting content from them much easier. This is a challenging task for most companies; usually, either they are lacking the expertise or the resources. And such projects are huge in scale due to the fact that they will affect more than one functional business area. But on the long run, it will be beneficial to the organization as a whole. The fact that your documents are driven by structured data and not by formatting and lose documents has a lot of value added to your business.