Archive for 'Engineering'

How to : Program a MS Excel Form

Posted on 24. Mar, 2012 by .

0

If you are trying to make an excel form, chances are you lost at the many objects lying around on your form and are baffled as to how all the pieces fit together.

They key thing in writing a form is understanding how many objects are used and what minimum code must support each object and action. If you are lost and dont know what piece of code to write next, here are some simple guidelines I follow myself in programming my forms for performing engineering calculations.

1. Throw all objects you want on a form. Inputs and Outputs.

2. For an engineering calculation, if any input parameter changes, all outputs must vanish. Otherwise your form risks the possibility of displaying the incorrect value from a previous calculation before the current calculation is performed.

3. Initialize the form using built in “UserForm_Initialize()” function.

4. Initialisation of the form can be performed by a separate macro which pouplates the initial values to be displayed.

5. Use the most common three buttons as set in 6, 7 and 8

6. “Close” button unloads the form

7. “Clear” button can be used to invoke the initialization macro or clear the all input and output fields by making them blank.

8. “Calculate” button begins the calculation sequences.

9. When starting a calculation, first step is to check the inputs.

10. Check the inputs one by one. If inputs are not correct dont perform the calculation. If inputs are correct, read and interpret the inputs alongside.

11. Perform calculations. Use UDFs as necessary.

12. Estimate results. Diplay results as Label Captions.

Have Fun!

Continue Reading

What does it take to make one A4 size paper?

Posted on 09. Jan, 2010 by .

0

We start off by doing a small calculation from a reputed text book. The text book is Shreve’s Chemical Process Industries, which is a textbook adopted in the chemical engineering curriculum of many reputed colleges.

An A4 size office paper of normal quality weighs 5 grams. It is easy for one to pro-rate the above table and estimate what it takes to make 5 grams of paper.

Based on 1982 data, to make an A4 paper you would need:

  • 22.5 g  Chemicals
  • 665 ml  Water
  • 3.5 ml  Oil or 5 grams of coal
  • 20 cc Wood
  • 23.76 kJ Power

Well, the story does not stop here. I know that the paper industry has adopted better manufacturing methods and today the specific consumption for making paper could be a little different. Today’s processes use significant amounts of recycle paper, use lesser water. Again, the amount of paper recycled and water conserved in different plants /countries is different, so it becomes difficult to establish an exact global average in a brief article.

Nevertheless, a few parallels can be drawn.

Every time you waste an A4 paper at office, conservatively, I can assume that, you also waste a large cup of water, a spoon full of coal (or oil), another spoonful of various chemicals, energy sufficient to keep a 40 W bulb glowing for 10 minutes and wood whose weight could be 2-4 times the weight of the paper, depending on the amount of recycle paper used.

Every time you throw a piece of paper into a dust bin, imagine yourself wasting all the other resources as well. I’m sure you’ll find it a lot easier to save paper.

Continue Reading

VBA support in OpenOffice.Org Calc

Posted on 21. Oct, 2009 by .

3

For many years till yesterday, I knew about OpenOffice.Org Calc. Today, I’m excited about it.

I tried OpenOffice many years ago. It could do few things back then, but I immediately dismissed as inadequate for my needs. I have always been a fan of what VBA could do for Excel.

Last week, I completed the most complex piece of VBA application I’d ever written. I am a VBA newbie and it took me a week  to finish my code that could be printed on 28 A4 pages. My spreadsheet till date works flawlessly on XP/Office 2003 like it is supposed to, but I wrote most of my code in Vista/Office 2007.

When I upgraded to Debian Squeeze, Openoffice.org 3.1.1 came with it. I checked out the new version and was impressed that one could write macros in Python, Javascript, BeanShell in addition to BASIC.

I tried to open my most complex piece of VBA code in Openoffice.org and I was bombarded with hundreds of repetitive error messages that I had to kill the spreadsheet from the command line. I was convinced that VBA and OOoCalc are not compatible, till I discovered this site by accident when trying to learn to write Javascript Macros in OOo.

OK. All I needed to add was “Option VBA Support 1″. That didn’t sound too difficult, so I tried opening my spreadsheet  again and had to again kill everything from command line.

Some thing was not right and I wasn’t being able to run VBA despite the promised compatibility.

So I decided to go slow. No matter how many times, I couldn’t run the macros when I opened the native excel file. So I decided to open the excel file with macros disabled. That let me open the spreadsheet, but nothing was working. I found that OOoCalc automatically had added “Option VBA Support 1″ to my modules.

I saved the file as .ODS and proceeded to debug by enabling macros again. This time, errors didn’t come in a flood.They came one at a time and it was easier to debug.

The first set of errors related to variables which did not have an explicit Dim statement. VBA in Excel seemed more forgiving in handling varaibles without proper Dim statements. But OOo Calc didn’t like it. So I ended up adding a few Dim statements for some variables.

The next set of errors was with Excel UDF names. OOo Calc likes to see Functions being invoked with uppercase letters. So if you’d used lower case letters in Excel, they would show up as errors. This could be easily fixed by use of find and replace feature.

With just these two things, fixed my new .ODS file worked perfectly. I then saved it as .xls and re-opened the .xls and everything was still working. Though OOo Calc  documentation still says that not all VBA features are supported, VBA runs well on OOoCalc for all practical engineering calculations. So now is the time for me to make the switch.

Now if you have difficulties, in getting  your VBA code to work  in OOo Calc, dont give up soon.

Continue Reading