So I gave a dev a choice yesterday
-
Hello, this is the business. We have a user who needs to automate a few things in excel. You can either spend 3 months writing custom code that duplicates 20% of the functionality of spreadsheet software plus this user requirement, or spend a day writing a few quick routines in VBA. ... oh... you don't huh. That's too bad.
-
Mark Wallace wrote:
Mind you, finding a dev who can edit a document in a word-processor without screwing the settings/structure/formats up is like finding gold in your bathroom
The same is true of 99% of users who try to apply any formatting to their documents. The difference is that if you point a competent dev to the styles gallery/editor and explain that to avoid screwing the document up that they should use styles similarly to how they use basic CSS instead of font tags then they'll be able to do fancy without trouble in the future. Try doing that with an MBA or someone holding a program managment certificate. :doh:
3x12=36 2x12=24 1x12=12 0x12=18
I thought much the same until I tried to setup some numbering based on Heading levels (style-based) in Word 2007. It is possessed, despite Microsoft's protestations to the contrary (Blogs.Office.Com[^]). That they felt the need to write an article titled that way is condemnation itself. Numbers change to letters, indentation flies halfway across the page. You get it "working" save, and reopen a document to find everything screwed again. I've been using Word since Word for Windows 1.0, and VBA with it a fair few years. All all started going wrong post Word 6, when they started "intellisensing" too much - adding styles because you'd made a stretch of text bold and the like.
-
Really? In 1991? That's back when the latest Microsoft Compiler was C 6 (not C++ 6, Visual C++ 1.0 came out in 1992). Turbo C++ and Zortech C++ were the best compilers for DOS platform, neither of which had any support for templates at that stage. STL was still under development at the time, and AFAIK most compilers that did support templates had to be reengineered to avoid breaking, it was some years later before everything started supporting templates efficiently. I remember reading an article about template metaprogramming in, I think, Dr Dobb's, at time - the classic calculate a factorial and report it in an error message example. At that stage, none of the compilers they tried could support it. You must have been very lucky to be developing on a platform with such advanced C++ support so early, the rest of us took a fair few years to catch up. Even VC++ 6 (that 6 compilers later from Microsoft) still failed to have decent support for STL - breaking any implementation I tried, until MS released one (in a Service Pack if I remember correctly).
I was programming C++ code on Sun workstations starting in 1986, and even though template support was all but non-existant, the compiler prototypes provided to the research institute I was working at could indeed 'understand' some very basic template constructs. I do remember having had several discussions with a tutor about constructs the CPP frontend didn't understand which should have worked by the book. My understanding was the CPP frontend was only used in some universities at the time, mainly for educational purposes. Much later we got updates to the CPP frontend which was able to do multiple passes over the code instead of just one, and thus could recursively resolve nested template arguments. That was in the late 80s, I think about 1988-89. That version was very close to full template support. I got a new job at a software company in 1991, and the project I was working on then did liberally use templates; this was the first time I really used templates to their 'full' potential (or rather, to the limits of my uderstanding ;) ) I do not recall any restrictions on the use of templates our compilers imposed on us, that is why I say these compilers should have been able to deal with todays C++ code. (platforms were HP, Sun, and Spark workstations btw., not PCs)
-
We had a requirement that needed someone to write some VBA macros in Excel (2003) yesterday, both devs on the team denied any knowledge of VB/VBA/VB.Net I gave them a choice of doing the job in VBA or documentation, we should have some great manuals for this project. I was astonished that a person who calls himself a developer has no knowledge of office or macro programming, I thought we all got dipped in that stuff at some time.
Never underestimate the power of human stupidity RAH
I think most of these replies miss the main point - VBA is easy, whether it is ugly or not. Any developer that can't figure out how to hack up some macros in Excel isn't worth squat. It is designed to be used by non-programmers, and I know plenty of accountant types that can throw together a macro (usually starting with the record function and tweeking from there) - so if someone calling themselves a programmer cannot figure it out, they should find a new occupation.
-
Aside from all the arguments about the faults with VBA, I really don't understand the antipathy towards it (other than from a language design POV). At the end of the day (and I don't want to rekindle the religious language wars here!) a programming language (however good or bad) is a tool - you can do a good (or bad) job with it regardless of its nature. For lots of scenarios, using the built-in (ie VBA) when producing something for a client in Access or Excel makes much more sense than developing a full-on, multi-user, mathematically proven system based around MS SQL on Server 2008 using C#/LINQ etc, especially when all they wanted was automated production of a report based on a few figures in a spreadsheet. As my father used to say: "A bad workman always blames his tools..." 8) There's far too much "over-engineering" in the software development world, it seems to me...
Yey, one can still develop against excel without using any vba at all... So, yes, I pass...
-
Too right. I've been tasked with working on some Access VBA code for my sins, and the IDE drives me crazy. It can't seem to tell the difference between field names (which are ALLCAPS here) and variable names (camelCase or InitialCaps depending on scope), or between names at different scopes, so the IDE just randomly chooses one and makes everything throughout your project match that. It drives me frickin' crazy - earlier I actually added a new class (Class Module), the name of which didn't overlap anything in the project, called it, ClassName and VBFA (VB Frickin' A, its new acronym) decided that that should CLASSNAME - this is a new class. It's about time Microsoft put the poor beast out to pasture and replaced it throughout the office suite with a .NET based scripting environment. That way you could use C#, Ruby, Python, or even, god forbid VB, at personal/project manager preference.
The most annoying feature of the IDE for sure must be the compile error popup message box. I mean, couldn't they imagine a scenario where I have left code purposely incomplete -- maybe to copy a variable name so I can paste it in, or any other normal workflow reason that just about every modern IDE supports? Okay, even if they have to compile the line immediately after moving off it did they have to tell you with a modal message box? Seriously, the guy who approved that feature deserves some kind of special hell.
-
Programming in VBA is very useful. I did some for ACAD, Word and Excel. It's easy, all you have to do is press F1 and learn few new commands. Still, overworked people can't do that. Or people that use drugs. Or people that hate their bosses for some reason. Or just too comfortable and arrogant people...
I like being sober. It gives some kind of quality to life that I can't really put my finger on... it is like running life from console way less colors but so much more control.
Slobos wrote:
Programming in VBA is very useful. I did some for ACAD, Word and Excel. It's easy, all you have to do is press F1 and learn few new commands. Still, overworked people can't do that. Or people that use drugs. Or people that hate their bosses for some reason. Or just too comfortable and arrogant people...
Agreed. I really have to laugh at the elitist attitude on this board, especially when dealing with subjects like VB and/or VB6. There have been entire INDUSTRIES spring up around the code written in VB6 and VBA and the developers here really seem to look down on it. It's hilarious in one way and sad in another. To "diss" skills that a developer might have in using those tools is very high-school IMHO. In my case I've spent the last 12 years developing and maintaining a system that is largely built on VB6 and VB.Net. Yes, we do have increasing amounts of the code in C# and I, myself, now only develop new code in C# - but it seems that the attitude around here is that if you used VB6 you are somehow a lesser skilled programmer. Let me put it this way. If that's your attitude, then I reserve you the exclusive rights of being WRONG. -Max
-
Hello, this is the business. We have a user who needs to automate a few things in excel. You can either spend 3 months writing custom code that duplicates 20% of the functionality of spreadsheet software plus this user requirement, or spend a day writing a few quick routines in VBA. ... oh... you don't huh. That's too bad.
Not necessarily. You don't need to use VBA to develop aginst excel. It's possible to do it with C# and use the office libs the same way you'd do with VBA. With another advantage that you can do more stuff, you're not stuck with only VBA capabilities.
-
We had a requirement that needed someone to write some VBA macros in Excel (2003) yesterday, both devs on the team denied any knowledge of VB/VBA/VB.Net I gave them a choice of doing the job in VBA or documentation, we should have some great manuals for this project. I was astonished that a person who calls himself a developer has no knowledge of office or macro programming, I thought we all got dipped in that stuff at some time.
Never underestimate the power of human stupidity RAH
I think that you can do everything that can be done in VBA (and more) using Visual Studio. I'm not talking about over-engineering, but simply writing Office pluggins using VSTO.
-
Dalek Dave wrote:
I would not hire anybody who denied VBA!
I am a VBA guru. I don't look at VBA as bad but as a tool for the job. I unlike most others, started with VBA and VB. Then moved to C++, and C#, etc... If you hate VBA just because it is VBA then you are retarded and on my team you would be a waste of everyone's time. We have to work with VBA from time to time so it is par for the course.
Slacker007 wrote:
I unlike most others, started with VBA and VB. Then moved to C++, and C#, etc...
Exactly how I got started - although I did a short bit of trying to learn CA Realizer - I started with Access and included VBA, then started using VBA in other Office products, then got VB 5 (and quickly moved to VB6). I got out of programming for a few years - and when I came back to it, I started with C#.
Slacker007 wrote:
If you hate VBA just because it is VBA then you are retarded and on my team you would be a waste of everyone's time. We have to work with VBA from time to time so it is par for the course.
While I wouldn't use the term "retarded", I find it silly to be knee-jerk rejective of a servicable tool: in some cases, it is worth it so develop a whole standalone app to do a task in Excel or whatever - but in many cases, all that is needed is an user-defined function that can be used in a cell, or a bit of functionality that is only used in one spreadsheet - this is usually developed quicker and more practically in VBA - and I see no reason to reject the most practical tool for the specific job.
-
Slacker007 wrote:
I unlike most others, started with VBA and VB. Then moved to C++, and C#, etc...
Exactly how I got started - although I did a short bit of trying to learn CA Realizer - I started with Access and included VBA, then started using VBA in other Office products, then got VB 5 (and quickly moved to VB6). I got out of programming for a few years - and when I came back to it, I started with C#.
Slacker007 wrote:
If you hate VBA just because it is VBA then you are retarded and on my team you would be a waste of everyone's time. We have to work with VBA from time to time so it is par for the course.
While I wouldn't use the term "retarded", I find it silly to be knee-jerk rejective of a servicable tool: in some cases, it is worth it so develop a whole standalone app to do a task in Excel or whatever - but in many cases, all that is needed is an user-defined function that can be used in a cell, or a bit of functionality that is only used in one spreadsheet - this is usually developed quicker and more practically in VBA - and I see no reason to reject the most practical tool for the specific job.
DragonsRightWing wrote:
While I wouldn't use the term "retarded"
You are correct...bad word to use in this situation. I just can't stand it when people hate something because everyone else hate's it when they themselves have never used it or tried it (shooting up heroin is a gimme...don't do it.) :)
-
LOL nobody says XL for Excel.
Isfeasachme wrote:
LOL nobody says XL for Excel.
Almost everybody I know writes "XL" as an abbr. for Microsoft Excel - and it tickles my sense of humor that you would use "says" - since the two, when spoken, are virtually indistinguishable ... Dalek Dave states that MS uses "XL" to refer to Excel - but only gives the icon as evidence. Here is a link to [^]a large collection of MSDN blog posts which refer to Excel as "XL" Also, Rob Grainger is correct that the file extensions are relevant: .XLS = eXceL Spreadsheet .XLM = eXceL Macro .XLA = eXceL Addin .XLT = eXceL Template .XLSB = eXceL Binary Spreadsheet ...
-
I thought much the same until I tried to setup some numbering based on Heading levels (style-based) in Word 2007. It is possessed, despite Microsoft's protestations to the contrary (Blogs.Office.Com[^]). That they felt the need to write an article titled that way is condemnation itself. Numbers change to letters, indentation flies halfway across the page. You get it "working" save, and reopen a document to find everything screwed again. I've been using Word since Word for Windows 1.0, and VBA with it a fair few years. All all started going wrong post Word 6, when they started "intellisensing" too much - adding styles because you'd made a stretch of text bold and the like.
Weird. Since using the heading styles and making all changes by editing them instead of just clicking numbered list and tabbing or formatting via clicking bold/12point/etc I've never seen that happen (ritual unfubarring of a company template that we can't get updated not withstanding). I just noticed in word 2k7 that hitting multi level number list and tabbing automatically cycled heading styles, which IIRC word 2k3 didn't do. Is the messed up document something I could look at? After years of dealing with a few bad templates at work I've gotten good at tracking down exactly what was broken in a file.
3x12=36 2x12=24 1x12=12 0x12=18
-
We had a requirement that needed someone to write some VBA macros in Excel (2003) yesterday, both devs on the team denied any knowledge of VB/VBA/VB.Net I gave them a choice of doing the job in VBA or documentation, we should have some great manuals for this project. I was astonished that a person who calls himself a developer has no knowledge of office or macro programming, I thought we all got dipped in that stuff at some time.
Never underestimate the power of human stupidity RAH
They know VB and VBA, they just don't want to use it.
-
They know VB and VBA, they just don't want to use it.
If I thought that I'd fire the dev, the right tool for the job, I don't care what it is.
Never underestimate the power of human stupidity RAH
-
I think most of these replies miss the main point - VBA is easy, whether it is ugly or not. Any developer that can't figure out how to hack up some macros in Excel isn't worth squat. It is designed to be used by non-programmers, and I know plenty of accountant types that can throw together a macro (usually starting with the record function and tweeking from there) - so if someone calling themselves a programmer cannot figure it out, they should find a new occupation.
I have our PM leading a junior dev through macro recording and tweaking, funniest thing you have ever seen.
Never underestimate the power of human stupidity RAH
-
I was given the task of "fixing" a project similar to the one you described. I bitched to my dev friends about it for a solid day. In the end, I just rewrote it into a C# GUI. It turns out currency brokers like custom GUIs more than Excel.
We just discovered that Silverlight has to be out of browser to support com object - back to VBA and macros.
Never underestimate the power of human stupidity RAH
-
Slobos wrote:
Programming in VBA is very useful. I did some for ACAD, Word and Excel. It's easy, all you have to do is press F1 and learn few new commands. Still, overworked people can't do that. Or people that use drugs. Or people that hate their bosses for some reason. Or just too comfortable and arrogant people...
Agreed. I really have to laugh at the elitist attitude on this board, especially when dealing with subjects like VB and/or VB6. There have been entire INDUSTRIES spring up around the code written in VB6 and VBA and the developers here really seem to look down on it. It's hilarious in one way and sad in another. To "diss" skills that a developer might have in using those tools is very high-school IMHO. In my case I've spent the last 12 years developing and maintaining a system that is largely built on VB6 and VB.Net. Yes, we do have increasing amounts of the code in C# and I, myself, now only develop new code in C# - but it seems that the attitude around here is that if you used VB6 you are somehow a lesser skilled programmer. Let me put it this way. If that's your attitude, then I reserve you the exclusive rights of being WRONG. -Max
I would have never learned MFC, get a grip on events and later learn how to do stuff in C/C++ if I had not learned VB6. I think my first VB was that one that had all user interfaces in toolbars like GIMP. I know CMD BASIC 2.0, 7.0, Simons Basic II, Spectrum's BASIC, LOGO, QBasic GWBasic...(oh who would remember them all...), SmallBasic, I have original IBM XT motherboard with BASIC built in BIOS (I think still hand made chips before Japanese polished first automatic machines for connecting silicon with CPU pins), there are bunch of other BASICS I don't remember any more (old small calculators, and god knows what else) but that is irrelevant. I still maintain code I wrote in VB6 like only 7 years ago and I am not going to rewrite it in C# (I use for ASP.NET). I worked as civil engineer and without AUTO CAD VBA and LISP I would have clicked my ass of way more than I did and with VBA. I also wrote and application that have earned me an "elite" title in 2h and 15 minutes... Regarding other languages I use(d) (PHP, and several script languages including JavaScript), Turbo Pascal, C, C++, assembly and they do require much more tears because I did not only learn those languages, my brains had to restructure them selves and I am professionally degenerated. I see C and C++ in cars, refrigerators and even girls... :omg: ... ... BUT I DON'T LOOK DOWN ON MY FIRST **** COMMODORE 64 BASIC V2.0 **** 64K RAM SYSTEM 38911 BASIC BYTES FREE READY. :cool:
I like being sober. It gives some kind of quality to life that I can't really put my finger on... it is like running life from console way less colors but so much more control.
modified on Saturday, February 19, 2011 3:16 AM
-
Not necessarily. You don't need to use VBA to develop aginst excel. It's possible to do it with C# and use the office libs the same way you'd do with VBA. With another advantage that you can do more stuff, you're not stuck with only VBA capabilities.
While it's true that you don't need to use VBA to develop Excel automation, you'd code a whole lot more and generate a new executable just to run a few lines to automte, say, the formatting of a spreadsheet. I really don't get why people complain so much about VBA and VB for that matter. If you're of a certain age your first programming language was BASIC. It was on the ROM of all the most successful computers of all times. From the Sinclair to TRS-80 to Apple ][ to PC. The evolution of BASIC from an interpreted sequential language to a fully object oriented language as we have in VB.NET is amazing. So, if I had someone to ask me to code a macro or two to Excel, or any Office application for that matter, I'd do it in a heart beat. And, by the way, the macro language of the Visual Studio (ever since the original Visual Studio .NET back in 2000) is BASIC!
-
Mark Wallace wrote:
Mind you, finding a dev who can edit a document in a word-processor without screwing the settings/structure/formats up is like finding gold in your bathroom
The same is true of 99% of users who try to apply any formatting to their documents. The difference is that if you point a competent dev to the styles gallery/editor and explain that to avoid screwing the document up that they should use styles similarly to how they use basic CSS instead of font tags then they'll be able to do fancy without trouble in the future. Try doing that with an MBA or someone holding a program managment certificate. :doh:
3x12=36 2x12=24 1x12=12 0x12=18
Dan Neely wrote:
if you point a competent dev to the styles gallery/editor and explain that to avoid screwing the document up that they should use styles similarly to how they use basic CSS instead of font tags then they'll be able to do fancy without trouble in the future_, he'll throw a hissy fit over how cr@p Word is, how stupid you are for using it, how everything should be done in plain text files, and how stupid you are for not seeing that._
Fixed. See if you can spot the element of "Been there, done that".
I wanna be a eunuchs developer! Pass me a bread knife!