|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
Softpanorama Search
|
| News | Recommended Links | Recommended Articles | Scripts | Scripting languages |
REXX |
|
| Office | Excel | MsWord | Access | Etc |
Windows is the second in history of operating systems OS that has the same macro language and scripting language. The fact that VBA can be used for most Microsoft (and many non-Microsoft) applications make it unique and quite revolutionary among scripting languages despite obvious weaknesses. Only REXX in OS/2 managed to play similar role.
New version of VBA -- VB.NET revitalize Visual Basic making it stronger both in scripting as an application programming language. As Simon St. Laurent wrote in O'Reilly -- VB.NET: Too much too fast?:
...Above all, I don't agree that the .NET platform can be seen as simply an "imposition from without" that was forced on Visual Basic. Instead, VB.NET strikes me as owing its inspiration at least as much (if not more) to the dynamics of VB's own development as to Microsoft's decision to champion the broader .NET platform for ongoing development. The plain fact is that VB was becoming dated as a language, that there was a growing disparity between its original conception and its current usage, that it had lost its original vision, and that as a result its future was uncertain.
It's important to remember that VB was originally introduced as a kind of Windows "drawing program:" You used drag-and-drop techniques to "draw" a user interface (i.e., a form or window with its controls) and then clicked on controls to access event handlers that you could code. With VB, anyone could write a simple Windows program in seconds, and an experienced VB programmer could write a fairly sophisticated program in a couple of hours. In contrast, at the point that VB came out, many experienced C programmers felt that it took a year for the average C programmer to make the transition to C programming for Windows before he or she could write any real production code at all. So VB 1.0 really was a revolutionary product (even though it didn't even begin to realize its promise until VB2 was introduced).
Through six versions, though, VB remained a kind of drawing program for Windows applications. In fact, that characterization is far more true of VB6 than it even was of the original release of VB. Yet, the overwhelming majority of VB programmers no longer writes Windows applications or Windows front ends but instead uses it primarily for component development. VB is now being used for purposes that its original designers hadn't forseen, and for which it really doesn't offer particularly great support.
This is problematic in two respects. First, it means that the existing base of VB developers have a good deal of difficulty in developing some types of technology. For instance, VB6 is not a good tool to use for Web development (except for middle-tier components). All of the attempts to integrate it with ASP, for instance, have been abject failures. Second, Microsoft has traditionally championed the cause of lowering the barrier to entry into the world of programming for non-programmers, and VB has been its flagship product for doing just that. But in recent years, particularly as attention has shifted to the Web and as most new non-programmers have been interested primarily in developing Web applications, VB has lost much of its appeal.
From this perspective, VB.NET represents an attempt to revitalize Visual Basic and to make it once again the broadly based programming language of the future, as well as the tool that offers the greatest ease of use to new programmers. And although I think there are going to be some rough edges to the transition, I personally find Microsoft's reasoning compelling and the new version of Visual Basic exciting. Despite a good deal of grumbling, I believe most VB programmers will eventually feel the same way.
|
|||||||
For users and companies who are relying on VBA macros or other customizations built into Word, Excel, etc., they might have a significant reason to stick with Microsoft. [Dec 09, 2004] Show Progress from VBA
When macros take a long time to run, people get nervous. Did it crash? How much longer will it take? Do I have time to run to the bathroom? Relax. This hack shows you two ways to create a macro progress bar using VBA
The Microsoft Office 2000/Visual Basic Programmer's Guide describes how to use the applications and components in Microsoft Office 2000 to build custom solutions. This guide is the definitive resource for developers who are creating custom solutions based on Office applications. From the overall design of your solution to the nitty-gritty details of implementing it, this book tells you what you need to know to get things done quickly and productively.
Part 1 Planning Office Solutions
Chapter 1 Understanding Office Solution Development
Chapter 2 Designing and Deploying Office Solutions
Part 2 Developing Office Solutions
Chapter 4 Understanding Office Objects and Object Models
Chapter 5 Working with Office Applications
Chapter 6 Working with Shared Office Components
Chapter 7 Getting the Most Out of Visual Basic for Applications
Chapter 8 Error Handling and Debugging
Chapter 9 Custom Classes and Objects
Chapter 10 The Windows API and Other Dynamic-Link Libraries
Chapter 11 Add-ins, Templates, Wizards, and Libraries
Chapter 12 Using Web Technologies
Chapter 13 Adding Help to Your Custom Solution
Part 3 Working with Data in Office Solutions
Chapter 14 Working with the Data Access Components of an Office Solution
Chapter 15 Retrieving and Analyzing Data
Chapter 16 Multiuser Database Solutions
Part 4 Securing Office Solutions
Chapter 17 Securing Office Documents and Visual Basic for Applications Code
Welcome to Mike's Excel VBA Pages where you can find various applications of VBA for Excel in the fields of statistics, actuarial science and finance. The pages contained on this site may be of interest to people who are learning VBA or its applications in math and finance. The code I provided would give you an informative look into the use of VBA for Excel in probability modeling, simulation and financial modeling.
Welcome to Rob's Excel VBA Pages where you'll find tips and tricks to help you get the most out of your use of VBA in MS Excel versions 5, 7, 8, 9 and 10. You will also find several utilities to extend the functionality of Excel, and the Office developers amongst you will be interested in my Developers Only section where you will find both useful tools and discussions on best practice techniques. The developers' section also contains advice on exploiting VB/VBA's exciting central position in Microsoft's Win32 COM architecture.
If you are a new visitor, before delving further into my site, please take some time to look at the other pages in the Home section:
The What's New page gives you an at-a-glance view of latest developments in my pages.
Some useful and enlightening selected Excel links are available on the Links Page.
The About This Site page gives some background on why this site is here, what it is for, and how it was built and maintained.
Finally, About Me gives a few details about who I am and how I ended up as a VB/VBA/MS Office developer with a special interest in Excel.
Finally, be sure to check out my lighthearted Crash section featuring some of my all-time favourite Excel crashes.
The intent of this page is to show some useful Excel VBA (Visual Basic for Applications) examples that I have picked up in the process of creating my own applications. It is not intended that this page be "state of the art" VBA programming (for that I recommend microsoft.public.excel.programming) but just fairly simple subroutines that illustrate formats and how to use the syntax. Most of these routines I wrote myself, but some were "cloned" from other sources.
Send Outlook Mail Message: This sub sends an Outlook mail message from Excel.
Show Index No. & Name of Shapes: To show the index number (ZOrderPosition) and name of all shapes on a worksheet.
Create a Word Document: To create, open and put some text on a MS Word document from Excel.
Find: This is a sub that uses the Find method to find a series of dates and copy them to another worksheet.
Arrays: An example of building an array. You will need to substitute meaningful information for the elements.
Replace Information: This sub will find and replace information in all of the worksheets of the workbook.
Move Minus Sign: If you download mainframe files that have the nasty habit of putting the negative sign (-) on the right-hand side, this sub will put it where it belongs. I have seen much more elaborate routines to do this, but this has worked for me every time.
Counting: Several subs that count various things and show the results in a Message Box.
Selecting: Some handy subs for doing different types of selecting.
Listing: Various listing subs.
Delete Range Names: This sub deletes all of the range names in the current workbook. This is especially handy for converted Lotus 123 files.
Type of Sheet: Sub returns in a Message Box the type of the active sheet.
Add New Sheet: This sub adds a new worksheet, names it based on a string in cell A1 of Sheet 1, checks to see if sheet name already exists (if so it quits) and places it as the last worksheet in the workbook. A couple of variations of this follow. The first one creates a new sheet and then copies "some" information from Sheet1 to the new sheet. The next one creates a new sheet which is a clone of Sheet1 with a new name.
Check Values: Various different approaches that reset values. All of the sheet names, range names and cell addresses are for illustration purposes. You will have to substitute your own.
Input Boxes and Message Boxes: A few simple examples of using input boxes to collect information and messages boxes to report the results.
Printing: Various examples of different print situations.
OnEntry: A simple example of using the OnEntry property.
Enter the Value of a Formula: To place the value (result) of a formula into a cell rather than the formula itself.
Adding Range Names: Various ways of adding a range name.
For-Next For-Each Loops: Some basic (no pun intended) examples of for-next loops.
Hide/UnHide: Some examples of how to hide and unhide sheets.
Just for Fun: A sub that inserts random stars into a worksheet and then removes them.
Unlock Cells: This sub unlocks all cells that do NOT contain a formula, a date or text and makes the font blue. It then protects the worksheet.
Tests the values in each cell of a range and the values that are greater than a given amount are placed in another column.
Determine the "real" UsedRange on a worksheet. (The UsedRange property works only if you have kept the worksheet "pure".
Events: Illustrates some simple event procedures.
Dates: This sub selects a series of dates (using InputBoxes to set the start/stop dates) from a table of consecutive dates, but only lists/copies the workday dates (Monday-Friday).
Passing Arguments: An example of passing an argument to another sub.
oreilly.com -- Online Catalog Visual Basic 2005 A Developer's Notebook
oreilly.com -- Online Catalog Programming Visual Basic 2005
oreilly.com -- Online Catalog VB.NET Language in a Nutshell, Second Edition
Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Disclaimer:
Last modified: August 12, 2009