Synkronizer 11 User Manual: ©2000-2019, XL Consulting GMBH, Switzerland
Synkronizer 11 User Manual: ©2000-2019, XL Consulting GMBH, Switzerland
Table of Contents
Foreword 0
Part I Welcome 7
1 What's
...................................................................................................................................
new? 7
2 Editions
................................................................................................................................... 8
3 Supported
...................................................................................................................................
Excel versions & Operating Systems 9
Part II Project 11
1 Settings
................................................................................................................................... 12
2 System
................................................................................................................................... 15
License
.........................................................................................................................................................
Manager 16
3 FileFormat
...................................................................................................................................
Project 16
Part IV Results 44
1 Summary
................................................................................................................................... 45
2 Differences
................................................................................................................................... 47
3 Ribbon
................................................................................................................................... 51
Part VI Registration 63
1 Manual
...................................................................................................................................
Activation 64
2 Deactivate
...................................................................................................................................
Software 65
MatchInclude
...................................................................................................................................... 87
MatchType
...................................................................................................................................... 87
PasswordList
...................................................................................................................................... 88
Pair ..................................................................................................................................................
Object 88
Methods
........................................................................................................................................... 89
Activate
...................................................................................................................................... 89
Properties
........................................................................................................................................... 89
DBKeys
...................................................................................................................................... 89
DBOptions
...................................................................................................................................... 90
DBRow
...................................................................................................................................... 90
IsValid
...................................................................................................................................... 91
Range
...................................................................................................................................... 91
RangeAddr
...................................................................................................................................... 91
Sheet
...................................................................................................................................... 92
SheetName
...................................................................................................................................... 92
WSOptions
...................................................................................................................................... 92
Settings
..................................................................................................................................................
Object 93
Methods
........................................................................................................................................... 93
Clear...................................................................................................................................... 93
Properties
........................................................................................................................................... 94
Contents
...................................................................................................................................... 94
FilterEquivalents
...................................................................................................................................... 94
Filters
...................................................................................................................................... 94
FilterTolerance
...................................................................................................................................... 95
Formats
...................................................................................................................................... 95
Highlight
...................................................................................................................................... 96
Outline
...................................................................................................................................... 96
Report
...................................................................................................................................... 97
Results
..................................................................................................................................................
Object 97
Properties
........................................................................................................................................... 98
ArrayCounts
...................................................................................................................................... 98
ArrayDetails
...................................................................................................................................... 98
DifferentComments
...................................................................................................................................... 100
DifferentContents
...................................................................................................................................... 100
DifferentFormats
...................................................................................................................................... 100
DifferentNames
...................................................................................................................................... 100
DifferentValues
...................................................................................................................................... 100
DuplicateKeys
...................................................................................................................................... 101
DuplicateRecords
...................................................................................................................................... 101
MissingCols
...................................................................................................................................... 101
MissingRows
...................................................................................................................................... 101
MissingSheets
...................................................................................................................................... 102
Sum
...................................................................................................................................... 102
SumByType
...................................................................................................................................... 102
SumText
...................................................................................................................................... 103
SumTextByType
...................................................................................................................................... 103
Enumerations
.................................................................................................................................................. 103
Content
...........................................................................................................................................
Flag 103
DBOptionFlag
........................................................................................................................................... 104
FilterFlag
........................................................................................................................................... 104
FormatFlag
........................................................................................................................................... 105
HighlightType
........................................................................................................................................... 105
MatchIncludeFlag
........................................................................................................................................... 105
MatchType
........................................................................................................................................... 106
OutlineFlag
........................................................................................................................................... 106
ReportType
........................................................................................................................................... 106
ResultType
........................................................................................................................................... 106
sideID
........................................................................................................................................... 107
WSOptionFlag
........................................................................................................................................... 107
VBA.........................................................................................................................................................
Helper Functions 107
VBA.........................................................................................................................................................
Examples 124
2 CommandLine
...................................................................................................................................
Utility 133
Reference
......................................................................................................................................................... 135
Examples
......................................................................................................................................................... 137
Index 140
I
Welcome 7
1 Welcome
Thanks for choosing Synkronizer 11. Synkronizer 11 is the most powerful Excel comparison
program in the market. Synkronizer 11 is the only program worldwide that can compare and
update regular Excel files and Excel databases.
This manual introduces you to the Synkronizer 11 environment and explains the essential
functions.
Of course Synkronizer 11 may not be perfect. We are always interested in learning from our
users, so your feedback is always welcome. For any suggestions or questions (e.g. menu items,
settings, forms, or about this manual) feel free to contact us directly.
Sincerely,
Although you might be already familiar with the previous vervions, Synkronizer 11 contains
some new features that we would like to present:
There are two new categories of differences: "Entered Values ?& Formulas" and "Calculated
Values". These help to identify cell differences more accurately. The category "Entered values
?& formulas" will report different cell values??or formulas. The "Calculated Values" type will
report a difference in case identical formulas will have different.
Invocation via command line. With the Developer Edition, you can control Synkronizer via
the command line. The Developer edition will earliest be shipped sometime after summer
2014.
1.2 Editions
There are three different editions of Synkronizer 11 available. The functionality of these editions
is described in the following table:
Synkronizer 11 has only few standard requirements and can be installed on local PCs as well as
on networks.
II
Project 11
2 Project
In this tab, you can manage projects, change project settings and find information about your
Synkronizer edition.
New
The form is emptied, all settings are
reset.
Open
This command opens an existing project.
Save
The current settings are saved as a
project. The worksheet passwords are
not stored in the projects.
Save as ...
The selected project is saved under a
new name.
Reload
The project is reloaded, all previous and
unsaved changes are lost.
Startup Options
Here you can specify whether you want
to start Synkronizer with an empty
project, the last opened project or the
opened files.
2.1 Settings
Application Settings
In this section you can define the general settings of Synkronizer.
Language
In this field, the language can be determined.
If your language is not available, we will give you a free Synkronizer version (Developer
Version) if you help us translate Synkronizer material into your mother-tongue. Just contact
us for your free copy. Prior to starting your translation, please contact us for detailed
instructions.
Synchronized Scrolling
With this option you can scroll "synchronized" through the files. Synkronizer ensures that
always the corresponding differences of the other file are displayed.
Project Settings
Here you can save, reload or reset your personal project settings. The following options are
available:
Undo settings
A strength of Synkronizer is its ability to highlighted differences and hide unwanted ones with
the outlining feature. The downside of this option is that these changes will possibly remain in
the Excel worksheets.
In this area you can choose what should happen with the highlighted and outlined changes.
The following options are available:
Show dialog
When closing the Excel file, a dialog box is displayed allowing you to select whether the
changes should be reset or not.
Never undo
The Synkronizer changes will not be reset.
Always undo
The Synkronizer changes are reset. Your Excel files will therefore be in the same state as prior
to the comparison (except the transferred differences).
Color themes
If you don't like the colors Synkronizer uses to highlight the differences, you have the option to
define your own. The colors can be reset to the original "Synkronizer" colors with the button
"Reset defaults to factory".
2.2 System
In this menu you will find some information about your Synkronizer license.
Edition
In this part you see the information about your edition
Version
In this part you can check if you are working with the latest
build. If this isn't the case a download button appears with
which you can download the latest build.
In the license manager you can see information about your license .
The project file is a simple XML text file that can be edited with any standard text editor such as
notepad.
When manually editing XML files, be aware that the names of tags are case-sensitive.
Misspelling will cause failures.
Tip:
Prepare your project using the Synkronizer tab, save it, then edit it to suit your needs.
This is the layout of the file for a project where sheets are auto matched, without any options
For a project with pairs of individual settings the file will look like this:
(MatchType will be set to 0 as soon as you select a pair option such as RangeAddr or DBKeys.)
<MatchInclude>3</MatchInclude>
<MatchType>0</MatchType>
<PairCount>3</PairCount>
<Pair ID="1">
<SheetName0>Addresses</SheetName0>
<SheetName1>Addresses</SheetName1>
</Pair>
<Pair ID="2">
<SheetName0>Controlling</SheetName0>
<SheetName1>Controlling</SheetName1>
<RangeAddr0>$A$4:$AC$75</RangeAddr0>
<RangeAddr1>$A$4:$AC$75</RangeAddr1>
<DBRow>5</DBRow>
<DBKeys>1</DBKeys>
<DBOptionsMask>14</DBOptionsMask>
</Pair>
<Pair ID="3">
<SheetName0>Budget</SheetName0>
<SheetName1>Budget</SheetName1>
</Pair>
</Pairs>
</Project>
</Synkronizer>
III
20 Synkronizer 11 User Manual
3 Select
When Synkronizer is started the main form or Select tab is displayed. The form is used to select
entire projects or two Excel files that are to be compared, furthermore, virtually all comparison
options, filters and actions can be defined in this form.
Ribbon
In this section are projects, comparison, tool
and action options available. You can open,
save or reset projects, define comparison
options like contents, formats, filters, define
the tools settings like report, highlight,
outline and start the comparison process.
Select workbooks
Open and select the workbooks to be
compared.
Select worksheets
Select the worksheets to be compared. The
following options are available:
- define the worksheet types (all, protected,
hidden)
- select and delete worksheets
- manually select worksheets
Note
All empty workbooks and all workbooks in protected view will be closed when the form starts.
3.1 Workbooks
In this section you can specify which files are to be compared, in addition there are two combo
boxes. The first file is entered in the upper box, and the second file in the lower box.
The Excel files can also be selected with the "Open File" symbols. Alternatively, the files can be
selected using the combo boxes. If you click this combo box, a list of recently opened Excel files
will appear.
Projects
If you have saved the files in a project, the files can also be opened using the menu command
Project » Open. For details, refer to the Projects section.
3.2 Worksheets
This section displays the worksheets are displayed which are to be compared. Moreover, in this
section worksheet-specific settings such as ranges, database or comparison options are
defined.
3.2.1 Settings
Include sheets
These types of worksheets are also listed.
Match by
Depending on the setting, the worksheets are matched by their names, index (position within
the file) or codename (internal worksheet name).
Above the worksheets table, there are two drop-down list boxes (see chart). Using these boxes,
the desired worksheets can be selected. Select the desired worksheets and confirm the
selection with the arrow button to the right. The worksheet pair will then be added to the
worksheets list.
As a further option, the unwanted worksheet pairs can be removed by selecting the pairs and
clicking on the "Delete" button.
No worksheets found
If no worksheets are available in the drop-down lists, the worksheets are either protected,
empty and/or hidden. In this case, you need to change the display mode for worksheets. For
more details please refer to the chapter "Automatically pair worksheets".
3.2.2 Ranges
If you do not want to compare the entire worksheet, you can define the desired range.
Proceed as follows:
1. Select the worksheet which contains the range you want to compare
2. Under the worksheet pair the options area appears (3 options). Now you can specify
the desired range by using of the range buttons.
3. The range address is also listed next to the worksheet name.
Note:
You can also enter named ranges. Multiple ranges are not allowed.
3.2.3 Databases
4. The tab "Database settings" appears. Now you have to define the primary key by which the
databases will be compared. To do this, select the necessary columns and confirm your
selection with the Plus button.
Important:
The field names must be identical, otherwise the database can not be compared!
If no identical field name is, the following message appears:
Relaxed keys
When selecting this option, differences in spaces and upper/lower case are ignored.
By default the primary keys are matched case sensitive (e.g. "John Miller" and "JOHN MILLER
").
Sort records
The records are sorted by the primary key.
Group records
The data are grouped. The date records are grouped as follows:
1. Linked records
2. New/deleted records
3. Duplicate keys
4. Duplicate records (redundant records)
6. When you have completed the database settings, a database icon appears in the worksheet
list next to the worksheet pair.
Notes:
The maximum length of a primary key field is limited to 64 characters. If you should operate
with primary key fields with more than 64 characters, then unwanted duplicate keys can occur.
If possible do not operate with long primary key fields.
Prior to describing the types of differences, we want to give a brief comparison of "normal"
worksheets versus databases.
"Normal" worksheets
do not contain column headings and no database structure. For such worksheets, Synkronizer
performs a cell-by-cell comparison. As a frequent user of Synkronizer you will soon learn that
the data comparison of a "normal" worksheets is not as efficient as a database comparison.
Databases
are worksheets that contain data within a database structure. The data must be arranged as
follows:
The first row contains unique column names.
The database contains one (or more) column(s) with primary key(s) (unique identification
number, article number etc.). A primary key uniquely identifies each data record and
facilitates the sorting and synchronizing of your data. The primary key does not need to be a
single field (e.g. employee ID). It may consist of multiple fields (e.g. family name, first name
and city) to create a unique identifier and avoid duplicate keys/records.
The data must be sortable and can not contain any merged cells.
The table can't contain formulas that refer to other rows. Formula references to other
columns within the same row are allowed.
Following paragraphs describe the difference between a 'duplicate key' and 'duplicate records'.
Duplicate keys
Duplicate keys occur, when data records contain the same primary key. Assuming the primary
key is formed from the family and first name, and given you have several customers called
"John Miller" in your database, Synkronizer will not know which data records to compare. So
make sure you operate with unique primary keys when working with Synkronizer.
The comparison of "databases" is highly efficient. The databases may be sorted or altered.
Inserting and deleting of columns and rows is allowed. Synkronizer will recognize all
differences between the two files.
Scheme Database
If you are sure that your worksheets do not contain new or deleted rows/columns, then you
can compare your files with the "1 on 1 method". In this case, the rows and columns are
compared "1 on 1" and only cell differences will be detected.
Proceed as follows to compare the rows and/or columns by the "1 on 1 linking method":
4. The tab "Linking Options" appears. Click "Link columns 1 on 1" or "Link rows 1 on 1"
5. After confirming the 1 on 1 linking method, the linking icon appears next to the worksheet
pair.
3.2.5 Passwords
2. If the worksheets should not appear in the worksheets list, you might need to enable the
"Protected" option in the pairing worksheet element:
Select "Protected" and click the "Add worksheets" button - the protected worksheets are now
displayed.
4. Enter the password in the field a and unlock the worksheets. If you have successfully entered
all the passwords, the worksheets are shown in green.
Note:
If you compare protected tables and a table contains protected and hidden cells, then only the
cell values are compared. Different cell formulas are not recognized in this case.
3.3 Ribbon
In the upper part of the selection form you'll find a toolbar which allows you to define
numerous options:
Project options
Reset project. All settings are set back to defaults
Load a project
Save project
Compare
options
Compare additional content like comments and Excel names.
Start
3.3.1 Project
With the "Project" commands, you can save recurring comparison processes as a project.
Supposed, you need to compare the same files, then you can save the files, tables and
comparison settings as a project. Next time, you can open this project and immediately start
the comparison.
New
The form is cleared, all settings are reset.
Open
This command opens an existing project.
Save
The current project settings are saved as a project.
In this menu, you can choose whether additional content needs to be compared. The following
content options can be selected:
Comments
Names
Names are placeholders which can be used to identify a range of cells, a function, a constant,
or a table.
Number
It is compared whether the number format of the cells is different.
Alignment
Compares the alignment of the cells (left, center, etc.)
Font
All the font formattings are compared (font name, size, color, underline, etc.)
Border
The cell borders are compared.
Fill
The background color of the cells is compared.
Protection
The cell protection and visibility of the cell to be compared.
1. Click on formats.
2. Select "Enable formats". (The format icon changes from gray to black).
In this example, the number formats and font sizes are compared.
Ignore case
If this box is checked, differences in upper and lower case writing are ignored (e.g. "John
Wayne" equals to "JOHN WAYNE" ).
Ignore whitespace
If this box is checked, spaces are ignored at the beginning and end of words, e.g. the values ?
"John Wayne" and " John Wayne " (additional spaces at the beginning and at the end) are
considered as equal.
Result: 100
Ignore constants
If this option is active, all cells with constants (entered values??) are ignored.
Ignore formulas
All formula fields are filtered out .
Equivalent values
Chances are, that in some worksheets the same difference shows up en masse. Suppose you
need to compare checklists that have a column called "Completed". In the first checklist, the
values in this column are represented by "yes / no", but in the other checklist by "ja / nein"
or "1/0". This would cause a large number of false positives to be reported in a normal
comparison. You can now filter out these differences by defining the corresponding
equivalents, e.g. 1=yes, 1=ja, yes=ja, 0=no, 0=nein, no=nein etc. If you want to filter empty
cells, enter [empty] or leave the field blank.
You can also filter partial equivalents. Pad the search string with two asterisks: *october* =
*november*
that would filter differences like =SUM('October 2019'!D10:D25) v =SUM('November
2019'!D10:D25).
1. Click Filters.
2. Select "Enable filters". (The filter icon changes from gray to black).
In this menu, you can choose whether the differences are to be marked in the underlying Excel
spreadsheets or not. The following options are available:
Highlight differences
All differences are highlighted in the underlying Excel worksheets.
Depending upon your choice, the check icon is displayed gray or black. If the differences are to
be marked, the symbol is black, otherwise gray.
In the Report menu you can choose whether an additional difference report should be
generated or not. The following options are available:
No report
No difference report will be generated.
Standard report
A "normal" difference report will be created which contains all differences.
Hyperlinked report
A difference report will be generated which contains all differences and each difference holds
The report icon is displayed either gray or black depending on its status. If a difference report is
selected, the symbol is black, otherwise gray.
In the Outline menu, you can choose whether you want to see only certain types of differences
or not. In this way you can check and process the differences very efficiently. The following
difference types can be selected:
Missing columns
These columns are only found in one worksheet.
Missing rows
These rows were either deleted or added.
Duplicate rows
Applies only to database mode: these rows include either duplicate (redundant) records or
rows with duplicate keys.
Identical rows
These rows are completely identical and have no cell differences.
Different rows
These rows contain cell differences.
1. Click Outline
2. Select "Enable outlining". (The outline symbol will change from gray to black)
After you have selected all the worksheets, settings and comparison options, you can start
comparing the worksheets. Just click on the Start icon and the files will be compared.
After comparison, the files and the results form will be displayed side by side. With the results
form, you can then smartly check the differences and eliminate them.
IV
44 Synkronizer 11 User Manual
4 Results
After comparing, the results form as well as the worksheets are arranged side by side. In the
results form, you can then smartly check and eliminate any difference.
Ribbon
In this section, various actions can be performed.
With these actions, you can selectively and
efficiently review and manage the differences.
Summary
This pane shows the worksheets and the number
of differences found.
Differences for the selected worksheet/category
are shown in the lower pane.
Differences
This pane shows each difference found for the
selected worksheet/category cell in the upper
pane. You can navigate to each difference and
decide if the difference needs to be transferred or
not.
Actions
With the results form, you can perform the following actions:
Overview of differences
Synchronize worksheets / transfer differences
Delete unwanted differences
Show/hide differences
4.1 Summary
The upper part of the Results form displays the worksheets and their differences. You can see
the number of differences that were found between the worksheets at a glance.
In the columns of the list box, the various differences are displayed. In this screenshot, for
example, the following differences were found in the worksheet "Customer List":
Missing columns 0|1; (no different column in source worksheet, one different
column in target worksheet)
Missing rows 3|2; (three different rows in source worksheet, two different
rows in target worksheet)
Differences in entered 9 differences in entered values/formulas
values/formulas
Differences in calculated 0
formulas
Duplicate records (redundant rows). These records are completely identical. These
records should be deleted. (Appears only in the database comparison mode.)
Duplicate keys. These records have the same primary key. (Appears only in the
database comparison mode.)
Differences in entered cell values ?and/or formulas. The entered cell values and/or
formulas are different in the underlying worksheets.
Note:
If you compare protected tables and a table contains protected and hidden cells, then
only the cell values are compared. Different cell formulas are not recognized in this
case.
Differences in calculated cell formulas. The results of the cell formulas are different (the
entered cell formulas are identical).
For each difference, the detailed information can be displayed in the lower part of the
form. Just click with the mouse on the desired type of difference and you will find further
details below.
In the following example, the difference type "Entered values & formulas" is selected. Nine
differences were found in total (in the upper part of the form). The detailed information of each
difference is displayed in the lower part of the form:
4.2 Differences
In the lower part of the form, the details of the difference selected in the upper part are
displayed.
All differences can be processed, transferred or deleted with the following keys:
Select difference
With these buttons you can navigate to the next or previous difference.
With these buttons, the columns/rows are copied from the source to the target
worksheet (from left to right). It is possible to copy just the selected column/row
or all columns/rows. Once the columns/rows have been copied, they are
displayed in red.
These commands are also available in columns that contain at least one
difference.
With these buttons, the columns/rows in the source worksheet (left) will be
deleted. It is either possible to delete all or only the selected column/row.
As above
With these buttons, the different cell values ?or comments are copied from the
source to the target worksheet (from left to right). It is either possible to copy all
or only the marked difference. Once the difference has been copied, it is shown
in red.
As above.
Sort by row With this button, the sorting of cell differences can be changed. As required, the
cell differences can be sorted or grouped differently. The cell differences are by
default sorted by rows and within the rows by columns.
Sort by The cell differences are sorted first by columns and within columns to rows.
column
Group by If you choose this option, the differences are grouped by rows. The differences
can be transferred individually per line or in groups.
row
Group by If you choose this option, the differences are grouped by columns. The
differences can be transferred individually per line or in groups.
column
This option is extremely useful when you are working with databases and need
to update cell differences of a column. With just one click, all the differences of a
column can be transferred.
Settings
Depending on the difference type, different options can be set, which are
described below.
Updating options
This option is only applicable for missing columns and rows.
Here you can specify which data and formats should be transferred. The
following options are available:
basic: only cell values and the cell alignment (left, right, centered) are
transferred
Medium: additionally the background color is transferred
full: all data and cell formats are transferred
This setting is especially important for large Excel files, because the data
transfer can be very slow for large data.
In the case of text differences (yellow symbol, "Differences in entered cell values ?and/or
formulas"), you can move the mouse over the desired difference (do not click), whereupon the
detailed view of the text difference is displayed as a tooltip.
4.3 Ribbon
In addition, various actions can be performed in the results form. With these actions, you can
selectively and efficiently manage the differences.
Filter
If necessary, you can define a (new) filter and compare anew. This way, you can
immediately see whether you get better comparison results or not. Proceed as follows
to create filter and start a new comparison:
Report
You can create a difference report at any time. Proceed as follows:
Highlight
Here you can choose whether only certain types of difference are to be shown.
Proceed as follows to display only certain types of difference:
Outline
Here you can decide whether only certain types of difference are to be shown.
Proceed as follows to display only certain types of difference:
Refresh
By clicking on this icon, the files are compared anew. You can choose whether all
worksheets or only the active worksheet shall be re-compared.
V
54 Synkronizer 11 User Manual
5 Install, Uninstall
Synkronizer 11 is a COM addin for Excel 2016 (or 365), 2013 , 2010 and 2007. Synkronizer works
both in 32-, and 64-bit mode.
Installation
1. Download the latest version.
3. Close Excel.
4. Open the the downloaded zip file, double click on the setup file and follow instructions...
5. Start Excel.
Administrator Privileges
If you do not have administrative rights, you can not install the software.
Folders
All files are located in the installation folder typically
C:\Program Files\Synkronizer\Synkronizer 11\
Prerequisites
Microsoft .NET Framework 4.0
Visual Studio Tools for Office Runtime 2010
The setup program will search for these prerequisites and install or update them as needed.
5.1 Uninstall
For a network installation, the license file must be stored in a shared network folder. All users
working with Synkronizer 11 must have (read-)access to this file. All other files may be located
in any directory.
5. Start Excel.
6. Start Synkronizer and open the License Manager with the following command:
Project »System » License manager
Click on the path button (see arrow) and choose the network directory.
Note:
The network directory must be an UNC (Uniform Naming Convention) folder which looks as
follows:
\\ComputerName\SharedFolder\Resource\license.xml
8. Add the network users who work with Synkronizer (see section below)
Scheme Network
The license file (License.xml) is located on a shared network folder. The individual network users
install Synkronizer normally on their local computer and point in the license manager to the
license file that is located in the network folder.
Permissions
At least one user must have write/modify permission on the license file, while all others only
need read permissions. The user(s) with write permission can register/activate the license and
manage the list of allowed computers.
Once the license is activated, you can add the nodes (network users) who will work with
Synkronizer. This can be done from any workstation, installed on Synkronizer, as long as the
user has write access to the license file.
4. Now you can add the computer/users, who will work with Synkronizer. Simply enter the
correct network user ID and the description in the input fields. If you want to add the
computer to which you are working, click on "Add this node":
1. Start Excel
5. Press "Paste list". The list is filled (with a maximum number of licensed computers)
The setup executable is a so-called bootstrapper for the windows installer files contained
within, it also takes care of the prerequisites (.NET framework and VSTO runtime)
/? or /help
displays help dialog
/extract:<directory>
extracts all files in <directory>
/listlangs
lists languages supported by this setup
/exenoui /qn
launches the EXE setup without UI. Note: run as administrator!
/exebasicui
launches the EXE setup with basic UI
/exelang <langId>
launches the EXE setup with the specified language
/username
username used by the proxy
/password
password used by the proxy
/exelog<path_to_log_file>
creates a log file at specified path
/exenoupdates
does not check for a newer version
<msiOptions>
options for msiexec.exe running the MSI package
Example:
VI
Registration 63
6 Registration
Upon purchase you will receive a "registration key" for the edition you bought. This registration
key is used to "register" and "activate" the software. The activation process is fully automated,
it only needs an internet connection. In case firewall settings prevent the program's direct
communication with our server, this process can also be performed via website or email.
Registration process:
1. Start Synkronizer.
In the case of a multi-user license, you must additionally enter the sequence number of the
license (next to the registry key field).
If you have any problems with the registration/activation process, please read chapter
"Problems with registration".
A data string that contains the activation data specific to your hardware is displayed and
copied to your clipboard.
9. Paste the datastring into the input field 1) and click on the activate symbol:
10. Note the activation key and return to the license manager of Synkronizer:
11. Enter the activation key in the input field "Activation Key".
If you have any problems with the registration/activation process please read chapter
"Problems with registration".
You can transfer your license to another computer at any time. Simply deactivate the license
on the old computer and activate it on the new one.
1. Start Synkronizer.
4. Click "Deactivate".
5. The register form is displayed. Enter your secret answer and click "Deactivate your license
online".
If you have no internet connection, you'll need to deactivate the software manually. A manual
deactivation works exactly the same like the manual activation.
The only difference is, that you'll get an unlock key instead of an activation key. Read this
chapter for manually deactivating the software.
VII
Problems / Errors 69
7 Problems / Errors
1. Click the Microsoft Office Button image, click Excel Options, and then click Add-Ins.
2. Check if Synkronizer 11 is listed under "Disabled Application Add-ins" (it should be listed
under "Active Application Add-ins").
3. Select & remove Synkronizer from the disabled category. It will then appear either in "Active
Application Add-ins" or "Inactive Application Add-ins". If it is listed under "inactive" then go
to the ComAdd-in dropdown and activate it.
Now the Synkronizer logo should be visible in the toolbar. If not, proceed as follows:
1. Verify that you have installed the latest build of Synkronizer 11.
2. Open Excel and select File » Options » Trust Center » Trust Center Settings...
8. Verify that the "Excel 2007 and later Add-in Files" can be opened.
9. Re-start Excel
1. Open Excel
3. Press [Alt][F11] (or if your developer tab is visible then do developer/visual basic)
» the Microsoft Visual Basic Window should open
4. Click on the [+] of the file Synkronizer_11 to open the project for synkronizer_11
6. Choose Tools » References it should look like this with five checked references.
If any of the first four items is listed as [MISSING] (presumably Scripting Runtime) contact
your system administrator.
If Synkronizer 11.0 Object Library for Com Interop is missing than setup failed to do what is
should do. Please contact support@synkronizer.com.
7.1 Support
If you should have problems with the software (error messages, unable to activate, etc.), please
proceed as follows:
6. If you are working with a network license, click on the "Nodes Info" tab and make a
screenshot of it:
7. Attach the file license.xml to the e-mail. The license file is stored in the following folder:
Local license:
C:\ProgramData\Synkronizer\Synkronizer 11
Network license
Shared network folder
8. Check if a error file was generated in the Windows temp folder. Open the Windows Explorer
end enter the folder %TEMP%. If a file named synkronizerError.txt is there, attach it to the
e-mail.
9. Send the screenshots and files to support@synkronizer.com along with any further
comments or observations you may have made. Please include information about your
environment (e.g., network, Citrix server, terminal server, subnets, etc.) that might help us to
evaluate and resolve the problem.
During business days, you will get an answer from our support team within 24 hours.
VIII
Developer Edition 75
8 Developer Edition
8.1 Visual Basic for Applications (VBA)
With the Developer edition of Synkronizer, you are able to create recurring, standardized
and/or complex comparisons. To access the automation functionality of Synkronizer, you need
to have knowledge about Visual Basic for Applications (VBA). With VBA, you are able to you
create your own powerful comparison macros.
We have provided some simple VBA Examples and a "Wrapper" Procedure to simplify you
work.
To test the examples, download the example file synk11vba.zip from our server, unzip it and
copy the files to a folder of preference.
You can also manually test the examples by using the following steps:
Excel
ComAddins("Synkronizer.AddIn")
Object =
Synkronizer.Application
Project
Files
Pairs
Pair
Results
Settings
Results
Methods
Name Description
NewProject Returns a project with empty files, default settings and manual matching
OpenProject Creates a new project with empty files, default settings and manual
matching.
Properties
Name Description
ActiveProject Project that is currently active.
DisplayUI Determines if user interface is displayed or not.
Remarks
The application object is only accessible when you have a licensed Developer Edition
Example
To access the Synkronizer Application, you should do the following:.
8.1.1.1.1 Methods
8.1.1.1.1.1 NewProject
Creates a new project with empty files, default settings and manual matching.
Syntax
expression.NewProject
expression. A variable representing an Application object.
Parameters
none
Return Value
none
Remarks
If another project is active, it will be closed first.
8.1.1.1.1.2 OpenProject
Syntax
expression.OpenProject(file name)
expression. A variable representing an Application object.
Parameters
Name Type Description
file name String Path and file name of the project file. (File extension is
'.xml').
Return Value
none
Remarks
If another project is active it will be closed first.
8.1.1.1.2 Properties
8.1.1.1.2.1 ActiveProject
Syntax
expression.ActiveProject
expression. A variable representing an Application object.
8.1.1.1.2.2 DisplayUI
Syntax
expression.DisplayUI
expression. A variable representing a Application object.
Methods
Name Description
Close Closes the current project. Optionally closes the source, target and (if
available) difference report files
Execute Executes the compare process.
Save Saves the project's configuration to the specified path.
Properties
Name Description
Files Container for the Files (workbooks) of the project.
IsDisposed Project was deactivated and internal object set to nothing.
IsValid Checks if files are valid and pairs exist and are all valid.
Pairs Container for the Pairs (worksheets) of the project.
ReportWorkbook Report workbook (when created).
Results Container for the (combined) Results of all Pairs.
Settings Container for all Settings of the project.
Events
Name Description
Progress Raised during comparison execution to indicate running subprocess.
8.1.1.2.1 Methods
8.1.1.2.1.1 Close
Closes the project results. Optionally closes the workbooks (without saving!)
Syntax
expression.Close(CloseFiles,DisplayUndo)
expression. A variable representing a Project object.
Parameters
Name Type Description
CloseFiles Boolean Closes the compared files (workbooks).
DisplayUndo Boolean Optional. If true and highlighting or outline are activated,
the user
Return Value
none
Remarks
If you want the files to be saved (with possible highlighting and outline), you must do so prior
to calling the Close method.
8.1.1.2.1.2 Execute
Syntax
expression.Execute
expression. A variable representing a Project object.
8.1.1.2.1.3 Save
Syntax
expression.Save(FilePath)
expression. A variable representing a Project object.
Parameters
Name Type Description
FilePath String Path and file name of the project file. (File extension is
'.xml').
Return Value
none
8.1.1.2.2 Properties
8.1.1.2.2.1 Files
Container for the Files (workbooks) of the project. Read only Files object.
Syntax
expression.Files
expression. A variable representing a Project object.
8.1.1.2.2.2 IsDisposed
This property checks if the project was deactivated and internal object set to nothing. Read
only Boolean property,
Syntax
expression.IsDisposed
expression. A variable representing a Project object.
8.1.1.2.2.3 IsValid
Checks if files are valid and pairs exist and are all valid. Read only Boolean property,
Syntax
expression.IsValid
expression. A variable representing a Project object.
8.1.1.2.2.4 Pairs
Container for the pairs (worksheets) of the project. Read only Pairs object.
Syntax
expression.Pairs
expression. A variable representing a Project object.
8.1.1.2.2.5 ReportWorkbook
Syntax
expression.ReportWorkbook
expression. A variable representing a Project object.
8.1.1.2.2.6 Results
Container for the (combined) Results of all pairs. Read only Results object.
Syntax
expression.Results
expression. A variable representing a Project object.
8.1.1.2.2.7 Settings
Container for all settings of the project. Read only Settings object.
Syntax
expression.Settings
expression. A variable representing a Project object.
8.1.1.2.3 Events
8.1.1.2.3.1 Progress
Remarks
You can use this event to display a progress indicator.
Methods
Name Description
Load Loads the two files from disk.
Save Saves the source file and the target file.
Properties
Name Description
file name Returns the full path and file name of either of the files.
IsValid Returns true if both files are loaded and can be compared.
Window Returns the window object of either of the files.
Workbook Returns the workbook object of either of the files.
Events
Name Description
none
8.1.1.3.1 Methods
8.1.1.3.1.1 Load
Syntax
expression.Load(file name0,file name1)
Parameters
Name Type Description
file name0 String Full path for 1st file (also referred to as source).
file name1 String Full path for 2nd file (also referred to as target).
NoArrange Boolean Optional. Set true if workbooks don't need to be arranged
horizontally or vertically.
Return Value
none
8.1.1.3.1.2 Save
Syntax
expression.Save(Save0,Save1,Path0,Path1)
expression. A variable representing a Files object.
Parameters
Name Type Description
Save0 Boolean Set true if the source file needs to be saved.
Save1 Boolean Set true if the target file needs to be saved.
Path0 String Optional. Specifies the path if the source file needs to be
saved in
a different location.
Path1 String Optional. Specifies the path if the target file needs to be
saved in
a different location.
Return Value
none
8.1.1.3.2 Properties
8.1.1.3.2.1 FileName
Returns the full path and file name of either of the Files. Read only String value.
Syntax
expression.file name(id)
expression. A variable representing a Files object.
Parameters
Name Type Description
id sideID Selects the source or target file.
8.1.1.3.2.2 IsValid
Returns true if both files are loaded and can be compared. Read only Boolean value.
Syntax
expression.IsValid
expression. A variable representing a Files object.
8.1.1.3.2.3 Window
Returns the window object of either of the files. Read only Window object.
Syntax
expression.Window(id)
expression. A variable representing a Files object.
Parameters
Name Type Description
id sideID Selects source or target file.
8.1.1.3.2.4 Workbook
Returns the workbook object of either of the files. Read only Workbook object.
Syntax
expression.Workbook(id)
expression. A variable representing a Files object.
Parameters
Name Type Description
id sideID Selects source or target file.
Methods
Name Description
AddMatched Adds matched pairs using MatchType and MatchInclude properties.
AddPair Adds a pair to the Pairs collection.
Clear Clears the pairs collection.
Remove Removes specified pair from the collection.
Properties
Name Description
Count Returns the number of members in the collection.
IsValid Returns true if pairs exist and each pair is valid.
Item Returns a single item (pair) from the collection.
MatchInclude Returns or sets options specifying types of worksheets to include by
AddMatched method.
MatchType Returns or sets a constant specifying how worksheets will be matched by
AddMatched method.
PasswordList Returns or sets a semicolon delimited list of passwords needed to access
protected sheets.
Events
Name Description
none
Remarks
You can add pairs individually with the Add Method or use the AddMatched method to
automatically add pairs for all worksheets that have matching names or indexes.
8.1.1.4.1 Methods
8.1.1.4.1.1 AddMatched
Syntax
expression.AddMatched
expression. A variable representing a Pairs object.
Example
This example adds all worksheets with the same name. Protected and hidden sheets are
included.
With .Pairs
'include protected and hidden sheets
.MatchInclude = MatchIncludeFlag_ProtectedSheets + MatchIncludeFlag_HiddenSheets
'match all sheets with same name
.MatchType = MatchType_AllByName
'add sheets
.AddMatched
End With
8.1.1.4.1.2 AddPair
Syntax
expression.AddPair(Sheet0,Sheet1,Range0,Range1,DBoptions,WSoptions,DBrow,DBkeys)
expression. A variable representing a Pairs object.
Parameters
Name Type Description
Sheet0 String A worksheet name of the source file.
Sheet1 String A worksheet name of the target file.
Range0 String A range address of the source worksheet.
Range1 String A range address of the target worksheet.
DBOptions DBOptionFla If the worksheet is a database, enter database options here.
g
WSoptions WSOptionFl If the worksheet should be linked 1 on 1, enter linking
ag options.
DBRow Long If database comparison, enter row with database column/
field names.
DBKeys String If database comparison, enter the column number(s) which
contain(s) the primary key(s). Separate numbers by
semicolon(s).
Return Value
Returns a Pair object
8.1.1.4.1.3 Clear
Syntax
expression.Clear
expression. A variable representing a Pairs object.
Return Value
none
8.1.1.4.1.4 Remove
Syntax
expression.Remove(index)
expression. A variable representing a Pairs object.
Parameters
Name Type Description
index Long A valid ID or index for the pair.
Return Value
none
8.1.1.4.2 Properties
8.1.1.4.2.1 Count
Returns the number of members in the collection. Read only long value.
Syntax
expression.Count
expression. A variable representing a Pairs object.
8.1.1.4.2.2 IsValid
Returns true if pairs exist and each pair is valid. Read only Boolean value.
Syntax
expression.IsValid
expression. A variable representing a Pairs object.
8.1.1.4.2.3 Item
Syntax
expression.Item(index)
expression. A variable representing a Pairs object.
Parameters
Name Type Description
index Long A valid ID or index for the pair.
8.1.1.4.2.4 MatchInclude
Syntax
expression.MatchInclude
expression. A variable representing a Pairs object.
Example
This example adds all worksheets with the same name. Protected and hidden sheets are
included.
With .Pairs
'include protected and hidden sheets
.MatchInclude = MatchIncludeFlag_ProtectedSheets + MatchIncludeFlag_HiddenSheets
'match all sheets with same name
.MatchType = MatchType_AllByName
'add sheets
.AddMatched
End With
8.1.1.4.2.5 MatchType
Returns or sets a variable specifying how worksheets will be matched by AddMatched method.
MatchType constant.
Syntax
expression.MatchType
expression. A variable representing a Pairs object.
Example
This example adds all worksheets with equal names. Protected and hidden sheets are included.
With .Pairs
'include protected and hidden sheets
.MatchInclude = MatchIncludeFlag_ProtectedSheets + MatchIncludeFlag_HiddenSheets
'match all sheets with same name
.MatchType = MatchType_AllByName
'add sheets
.AddMatched
End With
8.1.1.4.2.6 PasswordList
Returns or sets a semicolon delimited list of passwords needed to access protected sheets.
String value.
Syntax
expression.PasswordList
expression. A variable representing a Pairs object.
Example
This example adds two password protected worksheet pairs.
With .Pairs
'add worksheets
.AddPair "Customer List", "Customer List"
.AddPair "Customer Profile", "Customer Profile"
Methods
Name Description
Activate Activates the pair object.
Properties
Name Description
DBKeys Returns or sets a semicolon delimited list of column indices used as
primary key for database.
DBOptions Returns or sets options for sorting or grouping database records.
DBRow Returns or sets the index for the row which contains the headers / field
names.
IsValid Returns true if the pair is valid.
Range Returns the range object for the specified member of the pair.
RangeAddr Returns or sets an optional range address for the specified member of the
pair.
Results Returns the number of differences found.
Sheet Returns the worksheet object for the specified member of the pair.
SheetName Returns the name of the worksheet for the specified member of the pair.
WSOptions Returns the row/column linking options.
Remarks
Specify a Range
Normally, the entire data range of the sheet is used, but you can limit the range by using the
RangeAddr property.
Compare as Database
You can compare the sheets as databases if
· your data is organized in a tabular layout, with descriptive headers above each column.
· rows can be uniquely identified by a primary key.
You must set the primary key using the DBKeys property.
You can specify the starting row of the database with the DBRow property.
If you want the records sorted or the results grouped, use DBOptions .
8.1.1.5.1 Methods
8.1.1.5.1.1 Activate
Syntax
expression.Activate
expression. A variable representing a Pair object.
8.1.1.5.2 Properties
8.1.1.5.2.1 DBKeys
Returns or sets a semicolon delimited list of column indices used as primary key for database.
String value.
Syntax
expression.DBKeys
expression. A variable representing a Pair object.
Example
This example groups the records.
With oProj.Pairs.Item(0)
'row number of database heading
.DBRow = 3
'create primary key; column no. of source file
.DBKeys = "2;3"
'group records
.DBoptions = DBOptionFlag_Group
End With
8.1.1.5.2.2 DBOptions
Returns or sets options for sorting or grouping database records. DBOptionFlag value.
Syntax
expression.DBOptions
expression. A variable representing a Pair object.
Example
This example groups the records.
With oProj.Pairs.Item(0)
'row number of database heading
.DBRow = 3
'create primary key; column no. of source file
.DBKeys = "2;3"
'group records
.DBoptions = DBOptionFlag_Group
End With
8.1.1.5.2.3 DBRow
Returns or sets the index for the row which contains the headers. Long value.
Syntax
expression.DBRow
expression. A variable representing a Pair object.
Example
This example defines the 3rd row as database heading.
With oProj.Pairs.Item(0)
'row number of database heading
.DBRow = 3
'create primary key; column no. of source file
.DBKeys = "2;3"
'group records
.DBoptions = DBOptionFlag_Group
End With
8.1.1.5.2.4 IsValid
Syntax
expression.IsValid
expression. A variable representing a Pair object.
8.1.1.5.2.5 Range
Returns the range object for the specified member of the pair. Read only Range object.
Syntax
expression.Range(id)
expression. A variable representing a Pair object.
Parameters
Name Type Description
id sideID Selects source or target worksheet.
Remarks
To change the Range use the RangeAddr property.
8.1.1.5.2.6 RangeAddr
Returns or sets an optional range address for the specified member of the pair. Read only
String value.
Syntax
expression.RangeAddr(id)
expression. A variable representing a Pair object.
Parameters
Name Type Description
id sideID Selects source or target worksheet.
Example
This example sets the range address.
With .Pairs
.Add "db1", "db1"
.Item(1).RangeAddr(sideID_src) = "A1:H50"
.Item(1).RangeAddr(sideID_tgt) = "A1:H50"
End With
8.1.1.5.2.7 Sheet
Returns the Worksheet object for the specified member of the pair. Read only Worksheet
object.
Syntax
expression.Sheet(id)
expression. A variable representing a Pair object.
Parameters
Name Type Description
id sideID Selects source or target worksheet.
8.1.1.5.2.8 SheetName
Returns the name of the worksheet for the specified member of the pair. Read only String
value.
Syntax
expression.SheetName(id)
expression. A variable representing a Pair object.
Parameters
Name Type Description
id sideID Selects source or target worksheet.
8.1.1.5.2.9 WSOptions
Syntax
expression.WSOptions
expression. A variable representing a WSOptions object.
Example
This example links the rows and columns '1 on 1'.
With oProj.Pairs.Item(0)
.WSOptions = WSOptionFlag_Rows1on1 + WSOptionFlag_Cols1on1
End With
Methods
Name Description
Clear Clears all settings.
Properties
Name Description
Contents Return or sets the additional content to be compared.
FilterEquivalents Returns or sets the equivalent values which will be ignored.
Filters Returns or sets a series of options specifying which differences to filter
(ignore).
FilterTolerance Returns or sets a number below which numeric differences will be ignored.
Formats Returns or sets a series of options specifying which formatting properties
to compare.
Highlight Returns or sets a variable specifying which highlighting to perform.
Outline Returns or sets a series of options specifying which group of rows and
columns to show or hide.
Report Returns or sets a variable specifying which report to create.
Events
Name Description
none
8.1.1.6.1 Methods
8.1.1.6.1.1 Clear
Syntax
expression.Clear
expression. A variable representing a Settings object.
Return Value
none
8.1.1.6.2 Properties
8.1.1.6.2.1 Contents
Returns or sets a series of options specifying which formatting properties to compare. Contents
constant.
Syntax
expression.Contents
expression. A variable representing a Settings object.
Example
This example also compares comments and Excel names.
With .Settings
.Contents = ContentFlag_Comments + ContentFlag_Names
End With
8.1.1.6.2.2 FilterEquivalents
Syntax
expression.FilterEquivalents
expression. A variable representing a Settings object.
Example
This example compares the worksheets using filters.
With .Settings
.Filters = FilterFlag_Enabled + FilterFlag_StringCase + FilterFlag_StringSpace
.FilterTolerance = 0.01
.FilterEquivalents = "yes,ja;no,nein"
End With
8.1.1.6.2.3 Filters
Returns or sets a series of options specifying which differences to filter (ignore). FiltersFlag
constant.
Syntax
expression.Filters
expression. A variable representing a Settings object.
Remarks
If the ENABLED flag is not set, all other flags are ignored.
Example
This example compares the worksheets using filters.
With .Settings
.Filters = FilterFlag_Enabled + FilterFlag_StringCase + FilterFlag_StringSpace
.FilterTolerance = 0.01
.FilterEquivalents = "yes,ja;no,nein"
End With
8.1.1.6.2.4 FilterTolerance
Returns or sets a number below which numeric differences will be ignored. Double value.
Syntax
expression.FilterTolerance
expression. A variable representing a Settings object.
Example 1
This example will filter out any results where numeric differences are less than or equal to 0.01
(e.g. 0.01 vs .015):
With .Settings
.Filters = FilterFlag_Enabled
.FilterTolerance = 0.01
End With
Example 2
This example will filter out any results where numeric differences are less than or equal to 1 percent of the so
With .Settings
.Filters = FilterFlag_Enabled + FilterFlag_RelativeTolerance
.FilterTolerance = 0.01
End With
8.1.1.6.2.5 Formats
Syntax
expression.Formats
expression. A variable representing a Settings object.
Remarks
If the ENABLED flag is not set, all other flags are ignored.
Example
This example compares font formats.
With .Settings
.Formats = FormatFlag_Enabled + FormatFlag_Font
End With
8.1.1.6.2.6 Highlight
Syntax
expression.Highlight
expression. A variable representing a Settings object.
Example
This example highlights the differences.
With .Settings
.Highlight = HighlightType_Standard
End With
8.1.1.6.2.7 Outline
Returns or sets a series of options specifying which group of Rows and Columns to Show or
Hide. Uses OutlineFlag constants.
Syntax
expression.Outline
expression. A variable representing a Settings object.
Remarks
If the ENABLED flag is not set, all other flags are ignored.
Example
This example shows only the differences. Identical rows are hidden.
With .Settings
.Outline = OutlineFlag_Enabled + _
OutlineFlag_DifferentRows + OutlineFlag_MissingRows + OutlineFlag_Dupl
OutlineFlag_MissingCols
End With
8.1.1.6.2.8 Report
Returns or sets a constant specifying which Report to create. Uses ReportType constants.
Syntax
expression.Report
expression. A variable representing a Settings object.
Example
This example creates a difference report.
With .Settings
.Report = ReportType_Standard
End With
Methods
Name Description
none
Properties
Name Description
ArrayCounts Returns an array with the overall differences found.
ArrayDetails Returns an array with the individual differences found.
DifferentCommen Returns the number of cells with cell comments.
ts
DifferentContents Returns the number of cells with different (entered) values and formulas.
DifferentFormats Returns the number of cells with different formats.
DifferentNames Returns the number of different Excel names.
DifferentValues Returns the number of cells with different calculated values (or results).
DuplicateKeys Returns the number of duplicate keys (database only).
DuplicateRecords Returns the number of duplicate records (database only).
MissingCols Returns the number of missing columns (or fields).
MissingRows Returns the number of missing rows (or records).
MissingSheets Returns the number of missing worksheets (only for projects with
automatching).
Events
Name Description
none
Remarks
If the results object is a child of the Project object, then combined results are returned.
If the results object is a child of the Pair object, then individual results are returned.
8.1.1.7.1 Properties
8.1.1.7.1.1 ArrayCounts
Returns an array with the overall number of differences found as text. Read only Array.
Syntax
expression.ArrayCounts
expression. A variable representing a Results object.
Description of Array
This property returns an array. Each difference is represented by a single element of the array
with 11
columns. The first element of the array contains the column headings.
8.1.1.7.1.2 ArrayDetails
Returns an array with the detail information of the specified differences found as text. Read
only Array.
Syntax
expression.ArrayDetails(Type)
expression. A variable representing a Results object.
Parameters
Name Type Description
Type ResultType Constant selects group of results to return. If not set, all
result
types are returned.
Description of Array
This property returns an array. Each difference is is represented by a single element of the array
with 11
columns. The first element of the array contains the column headings.
8.1.1.7.1.3 DifferentComments
Returns the number of different cell comments. Read only Long value.
Syntax
expression.DifferentComments
expression. A variable representing a Results object.
8.1.1.7.1.4 DifferentContents
Returns the number of cells with different (entered) vales and/or different (entered) formulas.
Read only Long value.
Syntax
expression.DifferentContents
expression. A variable representing a Results object.
8.1.1.7.1.5 DifferentFormats
Returns the number of cells with different formats. Read only Long value.
Syntax
expression.DifferentFormats
expression. A variable representing a Results object.
8.1.1.7.1.6 DifferentNames
Returns the number of different Excel names. Read only Long value.
Syntax
expression.DifferentNames
expression. A variable representing a Results object.
8.1.1.7.1.7 DifferentValues
Returns the number of cells with different cell results. Read only Long value.
Syntax
expression.DifferentValues
expression. A variable representing a Results object.
8.1.1.7.1.8 DuplicateKeys
Returns the number of duplicate keys (database only). Read only Long value.
Syntax
expression.DuplicateKeys(id)
expression. A variable representing a Results object.
Parameters
Name Type Description
id sideID Selects either member of the Pair
8.1.1.7.1.9 DuplicateRecords
Returns the number of duplicate records (database only). Read only Long value.
Syntax
expression.DuplicateRecords(id)
expression. A variable representing a Results object.
Parameters
Name Type Description
id sideID Selects either member of the Pair
8.1.1.7.1.10 MissingCols
Returns the number of missing columns (or fields). Read only Long value.
Syntax
expression.MissingCols(id)
expression. A variable representing a Results object.
Parameters
Name Type Description
id sideID Selects either member of the Pair
8.1.1.7.1.11 MissingRows
Returns the number of missing rows (or records). Read only Long value.
Syntax
expression.MissingRows(id)
expression. A variable representing a Results object.
Parameters
Name Type Description
id sideID Selects either member of the Pair
8.1.1.7.1.12 MissingSheets
Returns the number of missing worksheets (auto matching only). Read only Long value.
Syntax
expression.MissingSheets(id)
expression. A variable representing a Results object.
Parameters
Name Type Description
id sideID Selects either member of the Pair
8.1.1.7.1.13 Sum
Returns the total number of differences found. Read only Long value.
Syntax
expression.Sum
expression. A variable representing a Results object.
8.1.1.7.1.14 SumByType
Returns the number of specified differences found. Read only Long value.
Syntax
expression.SumByType(Type,id)
expression. A variable representing a Results object.
Parameters
Name Type Description
Type ResultType Constant selects group of results to return.
id sideID Optional. Only needed for MissingCols and MissingRows.
Leave blank to return combined results.
Example
This example prints out some differences.
With oProj.Results
'print out entered value/formula differences
Debug.Print "Different values/formulas: " & .SumByType(ResultType_DifferentConten
8.1.1.7.1.15 SumText
Returns a formatted text that can be used in a messagebox. Read only String value.
Syntax
expression.SummaryText
expression. A variable representing a Results object.
8.1.1.7.1.16 SumTextByType
Returns the number of specified differences found as text. Read only String value.
Syntax
expression.SumTextByType(Type)
expression. A variable representing a Results object.
Parameters
Name Type Description
Type ResultType Constant selects group of results to return.
8.1.1.8 Enumerations
8.1.1.8.1 Content Flag
Name Description
ContentFlag_Com If this flag is set, the comments will be compared.
ments
ContentFlag_Name If this flag is set, the Excel names will be compared.
s
ContentFlag_None No additional content will be compared.
8.1.1.8.2 DBOptionFlag
Name Description
DBOptionFlag_AddID Adds an ID in the last column of the database to aid sorting and
filtering.
DBOptionFlag_Group Records are grouped by result after comparing.
DBOptionFlag_Relaxed When selecting this option, primary key differences in spaces and
Keys upper/lower case are ignored.
DBOptionFlag_Sort Records are sorted (on fields in primary key) before comparing.
8.1.1.8.3 FilterFlag
Name Description
FilterFlag_Constant All constants are ignored. Only formulas are compared.
s
FilterFlag_Datatyp Differences in datatype are ignored. Use to ignore differences between
e date
values and string values representing dates.
FilterFlag_Enabled Enable or disable all other filters options.
FilterFlag_Formula All formulas are ignored. Only constants are compared.
s
FilterFlag_HiddenC Data in hidden columns will be ignored.
ols
FilterFlag_HiddenR Data in hidden rows will be ignored.
ows
FilterFlag_None No filters will be used.
FilterFlag_SameVal Different cell values/formulas with same result will be ignored.
ues
FilterFlag_StringCa Text compare case Insensitive. "ABC" vs "abc" will be considered as equal.
se
FilterFlag_StringSp Text compare trim text. "ABC " vs "ABC" will be considered as equal.
ace
FilterFlag_Relative If this flag is on, then the relative differences (%) are filtered out (instead
Tolerance of numeric differences #)
8.1.1.8.4 FormatFlag
Name Description
FormatFlag_Alignment Compare cell alignment properties.
FormatFlag_Border Compare cell border properties.
FormatFlag_Enabled Enable or disable all other formats options.
FormatFlag_Font Compare cell font properties.
FormatFlag_None No formats are compared.
FormatFlag_Number Compare cell number (numberformat) properties.
FormatFlag_Pattern Compare cell pattern (interior/fill) properties.
FormatFlag_Protection Compare cell protection properties.
8.1.1.8.5 HighlightType
Name Description
HighlightType_None Differences are not highlighted.
HighlightType_Standard Differences are highlighted. No Cell coloring for all cells if not
removed
before processing.
HighlightType_WithRese Differences are highlighted. Cell coloring for all cells is removed
t before
processing.
8.1.1.8.6 MatchIncludeFlag
Name Description
MatchIncludeFlag_EmptySheets Empty sheets will be included by AddMatched
MatchIncludeFlag_HiddenSheets Hidden sheets will be included by AddMatched
MatchIncludeFlag_None Visible worksheets with content will be included. Default
setting.
MatchIncludeFlag_ProtectedSheet Protected sheets will be included by AddMatched
s
8.1.1.8.7 MatchType
Name Description
MatchType_AllByCodeName All included sheets are matched by code name.
MatchType_AllByIndex All included sheets are matched by index.
MatchType_AllByName All included sheets are matched by name.
MatchType_FirstByCodeName The first matched sheets with the same code name are added.
MatchType_FirstByIndex The first matched sheets are added.
MatchType_FirstByName The first matched sheets with the same name are added.
MatchType_Manual Pairs were modified or added with Add
8.1.1.8.8 OutlineFlag
Name Description
OutlineFlag_DifferentRows Hide different column: (linked, some cells are different).
OutlineFlag_DuplicateRows Hide rows with either duplicate keys or records (only in
database mode).
OutlineFlag_Enabled Enable or Disable all other Outline options.
OutlineFlag_IdenticalRows Hide identical rows (linked, without cell differences).
OutlineFlag_MissingCols Hide missing columns: (not occurring in the other worksheet).
OutlineFlag_MissingRows Hide missing rows: (not occurring in the other worksheet).
OutlineFlag_None No rows/columns will be hidden.
8.1.1.8.9 ReportType
Name Description
ReportType_Hyperlink A workbook is created, range addresses are hyperlinks to the original
s document.
ReportType_None No report is created.
ReportType_Standard A workbook is created, range addresses are plain text.
8.1.1.8.10 ResultType
Name Description
ResultType_DifferentCom Number or detail information of different comments.
ment
ResultType_DifferentCont Number of different (entered) cell values/formulas.
ent
ResultType_DifferentForm Number of different formats.
at
ResultType_DifferentNam Number of different Excel names.
e
ResultType_DifferentValue Number of different calculated cell values (results).
ResultType_DuplicateKey Number of duplicated primary keys.
ResultType_DuplicateRec Number of duplicated or redundant records.
ResultType_MissingCol Number of different columns.
ResultType_MissingRow Number of different rows.
ResultType_MissingWks Number of missing worksheets.
8.1.1.8.11 sideID
Name Description
sideID_src Selects the 1st member (Source) of the set. NOTE: value is 0).
sideID_tgt Selects the 2nd member (Target) of the set. NOTE: value is 1).
8.1.1.8.12 WSOptionFlag
Name Description
WSOptionFlag_Cols1on1 Columns will be linked 1 on 1 without finding inserted/deleted
columns.
WSOptionFlag_None Linking is disabled.
WSOptionFlag_Rows1on1 Rows will be linked 1 on 1 without finding inserted/deleted rows.
'***************************************************************
'* *
'* SYNKRONIZER 11 *
'* HELPER PROCEDURES/FUNCTIONS *
'* *
'* - requires a DEVELOPER license of Synkronizer 11 *
'------------------------------------------------------------
'this wrapper procedure initializes the Synkronizer application object
'Note:
'During setup the Addin is installed for All Users by writing
'the instructions to the registry under
'HKLM\Software\Microsoft\Office\Excel\Addins
cai.Connect = True
End If
Set snk = cai.Object
End If
End Sub
'------------------------------------------------------------
'this procedure closes a project
'----------------------------------------------------
'this procedure checks if the defined
'folders & files are valid
'check folders
If ROOT <> "" Then Debug.Assert Len(Dir(ROOT, vbDirectory)) > 0
If FOLDERSRC <> "" Then Debug.Assert Len(Dir(FOLDERSRC, vbDirectory)) > 0
If FOLDERTGT <> "" Then Debug.Assert Len(Dir(FOLDERTGT, vbDirectory)) > 0
If FOLDERREP <> "" Then Debug.Assert Len(Dir(FOLDERREP, vbDirectory)) > 0
If FOLDERPRJ <> "" Then Debug.Assert Len(Dir(FOLDERPRJ, vbDirectory)) > 0
If FOLDERLOG <> "" Then Debug.Assert Len(Dir(FOLDERLOG, vbDirectory)) > 0
'check files
If FILESRC <> "" Then Debug.Assert Len(Dir(FILESRC)) > 0
If FILETGT <> "" Then Debug.Assert Len(Dir(FILETGT)) > 0
If PROTSRC <> "" Then Debug.Assert Len(Dir(PROTSRC)) > 0
If PROTTGT <> "" Then Debug.Assert Len(Dir(PROTTGT)) > 0
End Sub
'---------------------------------------------------------------
'this function returns the not matched files
For i = 1 To 2
For j = 1 To UBound(aFiles)
If Len(Dir(Choose(i, sSrcFolder, sTgtFolder) & aFiles(j))) = 0
Then
ReDim Preserve aNotMatched(UBound(aNotMatched) + 1)
aNotMatched(UBound(aNotMatched)) = Choose(i, sSrcFolder,
sTgtFolder) & aFiles(j)
End If
Next j
ReDim aFiles(0)
Next i
Get_NotMatchedWorksheets = aNotMatched
End Function
'---------------------------------------------------------------
'this function returns the differences of a project
'if on pair is compared, all detailed differences are returned
'if multiple pairs are compared, the total differences per pair are
returned
If oProj.Pairs.Count = 1 Then
'one pair » return detailed differences
sMsg = oProj.Results.SumText
Else
'multiple pairs » return total differences per pair
i = 1
For Each p In oProj.Pairs
sMsg = sMsg & p.SheetName(sideID_src) & vbTab & _
p.Results.Sum & vbNewLine
i = i + 1
If i > 20 Then Exit For
Next p
GetDifferences = sMsg
End Function
'---------------------------------------------------------------
'this function compares the files of two folders
'
'Parameter description
'Paramater description:
'sFolderSrc: Folder with source files to be compared
'sFolderTgt: Folder with target files to be compared
'bHighlight: Select True if differences should be highlighted
'sFolderLog: If difference reports are needed, enter folder. Optional.
'sFolderLog: If a log file is needed, enter folder. Optional
t0 = Timer
With oProj
'load files
.Files.Load sFileSrc, sFileTgt
'compare!
.Execute
'log differences
If sFolderLog <> "" Then
'Print #1, aFiles(i) & vbTab & .Results.Sum
Call Logfile_PrintDiffs(oProj)
End If
If .Results.Sum Then
'if differences found, create report
n(1) = n(1) + 1
End If
theExit:
Reset
Set oProj = Nothing
Set snk = Nothing
Exit Function
theError:
Dim sErr As String
sErr = Err.Number & ": " & Err.Description
On Error Resume Next
If Not oProj Is Nothing Then
oProj.Close True, False
End If
SynkFolders = sErr
Resume theExit
End Function
'---------------------------------------------------------------
'this function compares one source file against all files of a target
folder
'
'Paramater description:
'sFileSrc: Source file
'sFolderTgt: Folder with target files to be compared
'bHighlight: Select True if differences should be highlighted
'sFolderLog: If difference reports are needed, enter folder. Optional.
'sFolderLog: If a log file is needed, enter folder. Optional
sFolderTgt As String, _
bHighlight As Boolean, _
Optional sFolderRep As String, _
Optional sFolderLog As String) As String
t0 = Timer
With oProj
'load files
.Files.Load sFileSrc, sFileTgt
'compare!
.Execute
'log differences
If sFolderLog <> "" Then
'Print #1, aFiles(i) & vbTab & .Results.Sum
Call Logfile_PrintDiffs(oProj)
End If
If .Results.Sum Then
End With
End If
End If
Else
'no differences noted; close report without saving
n(0) = n(0) + 1
End If
'.Files.Workbook(sideID_tgt).Save
End If
'return value
SynkSrcFolder = "finished" & vbLf & _
n(0) & " workbooks without differences" & vbLf & _
n(1) & " workbooks with differences, see reports"
theExit:
Reset
Set oProj = Nothing
Set snk = Nothing
Exit Function
theError:
Dim sErr As String
sErr = Err.Number & ": " & Err.Description
On Error Resume Next
SynkSrcFolder = sErr
Resume theExit
End Function
'---------------------------------------------------------------
'this procedure writes all project differences in a new workbook
'create workbook
iWksCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Set wkb = Workbooks.Add
Application.SheetsInNewWorkbook = iWksCount
'name worksheet
wks.Name = "Project Differences"
val = oProj.Results.ArrayDetails
If wks.UsedRange.Cells.CountLarge = 1 Then
Set rng = wks.Cells(1)
Else
With wks.UsedRange
Set rng = wks.Cells(.Row + .Rows.Count, .Column)
End With
End If
If IsEmpty(val) Then
rng.Offset(0, 0).Value = "no diffs"
Else
Set rng = rng.Offset(0, 0).Resize(UBound(val, 1) + 1, UBound(val, 2)
+ 1)
rng.Clear
rng.Resize(, 11).NumberFormat = "@"
rng.Resize(, 4).HorizontalAlignment = xlLeft
rng.VerticalAlignment = xlTop
rng.Value2 = val
End If
'format range
With rng
.Rows(1).Font.Bold = True
.Columns("I:K").HorizontalAlignment = xlRight
.Columns("A").ColumnWidth = 20
.Columns("B:K").ColumnWidth = 8
.Columns("D:E").ColumnWidth = 32
.Columns("F:H").ColumnWidth = 18
.Columns("F:G").EntireColumn.Hidden = True
For Each p In oProj.Pairs
If p.DBKeys <> "" Then
.Columns("F:G").EntireColumn.Hidden = False
Exit For
End If
Next p
End With
DoEvents
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------------
'this procedure creates a new workbook and
'writes all pair differences in a separate worksheet
'create workbook
iWksCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = oProj.Pairs.Count
Set wkb = Workbooks.Add
Application.SheetsInNewWorkbook = iWksCount
'name worksheet
Set wks = wkb.Worksheets(iPair)
wks.Name = p.SheetName(0)
'get results
val = p.Results.ArrayDetails
Set rng = wks.Cells(1)
'write title
With rng
.Value = p.SheetName(0)
.Font.Size = 12
.Font.Bold = True
End With
'format range
With rng
.Rows(1).Font.Bold = True
.Columns("I:K").HorizontalAlignment = xlRight
.Columns("A").ColumnWidth = 20
.Columns("B:K").ColumnWidth = 8
.Columns("D:E").ColumnWidth = 32
.Columns("F:H").ColumnWidth = 18
iPair = iPair + 1
Next p
DoEvents
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------------
'this procedure creates a log file with all differences
'source file
sText = "Source File"
sLine = sText & String(34 - Len(sText), " ") & oProj.Files(sideID_src)
Print #1, sLine
'target file
sText = "Target File"
sLine = sText & String(34 - Len(sText), " ") & oProj.Files(sideID_tgt)
Print #1, sLine
'--------------------------------------------------------------
'heading row differences
sText =
"Worksheet names"
sLine =
sText & String(32 - Len(sText), " ")
sLine =
sLine & " Total"
sLine =
sLine & _
" Columns" & _
" DupRecs" & _
" DupKeys" & _
" Rows" & _
" Contents" & _
" Values"
If CBool(oProj.Settings.Formats And FormatFlag_Enabled) Then
sLine = sLine & " Formats"
End If
If CBool(oProj.Settings.Contents And ContentFlag_Comments) Then
sLine = sLine & " Comments"
End If
If CBool(oProj.Settings.Contents And ContentFlag_Names) Then
sLine = sLine & " Names"
End If
'--------------------------------------------------------------
'pair differences
sText = CStr(.Sum)
sLine = sLine & String(7 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_MissingCol)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DuplicateRec)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DuplicateKey)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_MissingRow)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DifferentContent)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DifferentValue)
sLine = sLine & String(9 - Len(sText), " ") & sText
'--------------------------------------------------------------
'total differences
With oProj.Results
sText = "Total"
sLine = sText & String(32 - Len(sText), " ")
sText = CStr(.Sum)
sLine = sLine & String(7 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_MissingCol)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DuplicateRec)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DuplicateKey)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_MissingRow)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DifferentContent)
sLine = sLine & String(9 - Len(sText), " ") & sText
sText = .SumTextByType(ResultType_DifferentValue)
sLine = sLine & String(9 - Len(sText), " ") & sText
End Sub
'*******************************************************************
'* *
'* SYNKRONIZER 11 *
'* VBA EXAMPLES *
'* *
'* To test the examples you need *
'* - to have a DEVELOPER license of Synkronizer 11 *
'* - to create a reference to 'Synkronizer 11 Object Library' *
'* - include the module 'snk_helper_functions' which contains *
'* helper procedures and functions *
'* *
'*******************************************************************
'define folders
Public Const ROOT As String = "D:\Documents\"
Public Const FOLDERSRC As String = ROOT & "Source\"
Public Const FOLDERTGT As String = ROOT & "Target\"
Public Const FOLDERREP As String = ROOT & "Reports\"
Public Const FOLDERPRJ As String = ROOT & "Projects\"
Public Const FOLDERLOG As String = ROOT & "Log\"
'define files
Public Const FILESRC As String = FOLDERSRC & "Source 1.xlsx"
Public Const FILETGT As String = FOLDERTGT & "Target 2.xlsx"
Public Const FILEREP As String = FOLDERREP & "Synkronizer_Difference_Report.xlsx"
Public Const FILEPRJ As String = FOLDERPRJ & "SynkProject.xml"
Public Const PROTSRC As String = FOLDERSRC & "Protected 1.xlsx"
Public Const PROTTGT As String = FOLDERTGT & "Protected 2.xlsx"
'-----------------------------------------------------------
'Example 1
'- compare all sheets with the same name
'- create a difference report
'- highlight differences
'- show all differences except identical rows
'- create a project with all settings
'create project
Set oProj = snk.NewProject
With oProj
'load files
.Files.Load FILESRC, FILETGT
'define worksheets
With .Pairs
.MatchType = MatchType_AllByName
.AddMatched
End With
With .Settings
'create a report
.Report = ReportType_Standard
'highlight differences
.Highlight = HighlightType_WithReset
End With
'start Synkronizer
.Execute
'save project
If snk.DisplayUI = False Then
.Save (FILEPRJ)
End If
'close project
CloseProject
End With
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 2
'- compare a project
'start Synkronizer
oProj.Execute
'close project
CloseProject
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 3
'create project
Set oProj = snk.NewProject
With oProj
'define files
.Files.Load PROTSRC, PROTTGT
With .Pairs
'add worksheets
.AddPair "Customer List", "Customer List"
.AddPair "Customer Profile", "Customer Profile"
'highlight differences
With .Settings
.Highlight = HighlightType_Standard
End With
'start Synkronizer
.Execute
'close project
CloseProject
End With
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 4
'- compare first sheets
'- compare formats, comments, names & use filters
'- create a report
'create project
Set oProj = snk.NewProject
With oProj
'define files
.Files.Load FILESRC, FILETGT
With .Settings
'create a report
.Report = ReportType_Standard
End With
'compare files
.Execute
'save report
With .ReportWorkbook
.SaveAs file name:=FILEREP
.Close SaveChanges:=False
End With
End If
'close project
CloseProject
End With
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 5
'- database comparison
'- highlight differences
'create project
With oProj
'define files
.Files.Load FILESRC, FILETGT
'highlight differences
With .Settings
.Highlight = HighlightType_WithReset
End With
'start Synkronizer
.Execute
'close project
CloseProject
End With
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 6
'- link rows 1 on 1
'- highlight differences
'create project
Set oProj = snk.NewProject
With oProj
'define files
.Files.Load FILESRC, FILETGT
'highlight differences
With .Settings
.Highlight = HighlightType_WithReset
End With
'start Synkronizer
.Execute
'close project
CloseProject
End With
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 7
'- compare a project
'- create workbook which contains all differences
'start Synkronizer
oProj.Execute
'close project
CloseProject
'display message
MsgBox sMsg, vbOKOnly + vbInformation, "Synkronizer"
Exit Sub
Err_Example:
MsgBox Err.Description, vbExclamation, "Synkronizer"
End Sub
'-----------------------------------------------------------
'Example 8
'- compare all Excel files with the same names of two folders
'- a difference report will be created of each file set
'- a log file will be created
'Paramater description:
'sFolderSrc: Folder with source files to be compared
'sFolderTgt: Folder with target files to be compared
'bHighlight: Select True if differences should be highlighted
'sFolderLog: If difference reports are needed, enter folder. Optional.
sMsg = SynkFolders(sFolderSrc:=FOLDERSRC, _
sFolderTgt:=FOLDERTGT, _
bHighlight:=True, _
sFolderRep:=FOLDERREP, _
sFolderLog:=FOLDERLOG)
MsgBox sMsg
End Sub
'-----------------------------------------------------------
'Example 9
'- compare one "source" file against a series of target files
'- a difference report will be created for each file set
'- a log file will be created
'Paramater description:
'sFileSrc: Source file
'sFolderTgt: Folder with target files to be compared
'bHighlight: Select True if differences should be highlighted
'sFolderLog: If difference reports are needed, enter folder. Optional.
'sFolderLog: If a log file is needed, enter folder. Optional
sMsg = SynkSrcFolder(sFileSrc:=FILESRC, _
sFolderTgt:=FOLDERTGT, _
bHighlight:=True, _
sFolderRep:=FOLDERREP, _
sFolderLog:=FOLDERLOG)
MsgBox sMsg
End Sub
With the Developer Edition of Synkronizer 11, it is also possible to compare Excel files via the
command line commands. The Excel files can be compared fully automated with a single
mouse click - without opening Excel!
command. The program then generates different reports and log files with all differences.
While executing, the program will start a hidden instance of Excel. After the comparison
process the Excel instance will be closed again.
Proceed as follows:
@echo off
"C:\Program Files\Synkronizer\Synkronizer 11\Synk.exe"
1. Right-click an open area on the desktop, point to New, and then click Shortcut.
2. Click Browse.
3. Locate synk.exe which is stored in the following folder:
C:\Program Files\Synkronizer\Synkronizer 11\
click Open, and then click Next.
4. Type a name for the shortcut and click Finish button.
5. Right-click on the created shortcut.
6. Enter in the field "Start in" the folder, in which the Synkronizer files should be stored.
7. Click OK and close the shortcut
8.2.1 Reference
This page contains the syntax of the command line utility and a description of all variables,
commands and settings.
Syntax
synk[.exe]
[/dir={Parent folder}]
[/src={Source folder/file}]
[/tgt={Target folder/file}]
[/xml={Synkronizer project file}]
[/rep={Report folder}]
[/log={Log file}]
[/m={Matching options}]
[/r={Report options}]
[/c]
[/x]
Variables
/dir={Parent folder}
Optional. Name/location of the parent folder. The difference reports and log files will be stored
within this folder if not defined separately.
/src={Source folder/file}
Required. Folder of the source files or the name of the source file. If you want to compare all
files of a folder you need to enter a folder otherwise enter a file name. You can enter an
absolute path/file or a path/file name relative to the parent directory (/dir).
/tgt={Target folder/file}
Required. Folder of the target files or the name of the target file. If you want to compare all
files of a folder you need to enter a folder otherwise enter a file name. You can enter an
absolute path/file or a path/file name relative to the parent directory (/dir).
Note
If the folders or file names contain spaces and you are working with batch files and/or
Windows shortcuts you need to use apostrophes (double quotes) for addressing the folders/
file names.
Tools
matching (/m=)
Optional. Matching options. You can define how the worksheets shall be matched. The
following options are allowed:
1=Compare all worksheets by name (default setting)
2=Compare all worksheets by index
-1=Compare first worksheets by name
-2=Compare first worksheets by index
highlight (/h=)
Optional. Highlighting options. The following options are allowed:
1=Differences are highlighted
0=No differences are highlighted (default setting)
report (/r=)
Optional. Difference report options. The following options are allowed:
1=A standard difference report is created (default setting)
2=A difference with hyperlinks will be created.
0=No difference report will be created.
Commands
/?
Synkronizer CommandLine Utility help. All commands and settings are displayed.
/f
Files to be compared. You can see which files will be compared and which not.
/v
The settings of the current project are displayed. You can see the folders, file names and
comparison settings.
/c
Starts the comparison process. You can enter ctrl-c to terminate the comparison process.
/rs
Run & show. Runs the first batch (or file pair) and opens Synkronizer and shows the results
screen with the Excel files.
/cs
Starts the comparison process and saves the files at the end under a new name. The original
remain files unchanged. You can enter ctrl-c to terminate the comparison process.
/x
The Synkronizer CommandLine Utility will be closed.
8.2.2 Examples
This section contains some examples on how you can compare Excel files with the Synkronizer
CommandLine Utility.
DBRow 90
Index deactivate 65
Deactivate software 55, 65
Deactivate your license online 65
DefaultsSave 93
-"- Deinstall software 55
delete "Synkronizer colors" 12
"Normal" worksheets 30 Delete different columns/rows 47
Delete unwanted differences 44
-A- delete worksheets 23
Detail information of differences 47
actions (highlighting, create report, outlining) 20 Details with each difference 98
activation 63, 64 Differences in calculated formulas 45
activation process 63 Differences in entered values/formulas 45
ActiveProject 77 Different calculated values 100
Add 85, 89 Different cell comments 100
AddMatched 84 Different cell formulas 100
Admin rights 54 Different cell results 100
Administrative Rights 54 Different cell values 100
Alignment 37 Different Excel names 100
Automatically pair worksheets 23, 25 Different formats 100
DisplayStatus 77
-B- Duplicate keys 30, 45, 101
Duplicate records 101
Border 37 Duplicate Records (Redundant records) 30
Duplicate records (redundant rows) 45
-C- Dupliocate primary keys 101
-D- -F-
Database flag 104 FileName 82
database options 28 Files 79
Database settings 28 Fill 37
database structure 28 Filter options 51
DBKeys 89 FilterEquivalents 94
DBOptions 90 Filters 20, 38, 94
Save 79 -U-
save project 36
Save project as default 12 Undo settings 12
Saves source and target files 82 uninstall 65
Scripted Installation 60 Uninstall software 55
secret answer 63 Unload 78
secret question 63 Upgrade 15
Select difference 47
Select differences 45 -V-
select Excel files 20
Select Form 20 vba 124
Select tab ribbon 35 Version Info 15
select workbooks 23
-W-
Window 83
Workbook 83
Worksheet linking options 107
worksheet options 23
worksheet properties (ranges) 20
worksheet settings 25
wrapper 124