« first day (340 days earlier)      last day (2840 days later) » 
00:00 - 21:0021:00 - 00:00

12:00 AM
The 2nd Monitor was reloaded.
 
there's a slight delay until @Duga starts posting the daily summary here
 
RELOAD!
 
here it comes
 
[Cardshifter/Cardshifter] 1 issue comment.
[Cardshifter/cardshifter.github.io] 2 commits. 1 opened issue. 2 closed issues. 6 issue comments.
[retailcoder/Rubberduck] 4 commits. 1 opened issue. 1 closed issue. 7 issue comments.
[Unihedro/JavaBot] 1 opened issue. 1 issue comment.
[Zomis/Battleship] 9 commits.
[Zomis/Server] 13 commits.
2
 
Woah
 
12:19 AM
@Mat'sMug don't be so impressed. those Zomis/Server commits were done a long time ago, I just pushed them today.
and actually, most of the code for that Server was written last year I think, I discovered last week that it wasn't under git source control!!! (shame on me!)
 
Shame shame.
 
I'm not quite sure why you're starring that, 13 commits isn't that impressive
or is it because it's a Battleship-server?
(a Server that at the moment has some significant bugs, should be added)
in TCG Creation, 9 mins ago, by Phrancis
ANTLR looked like a nightmare to get to work (shhh, don't tell mug and ducky)
 
lol thanks @Simon ;p
 
Most commits of the day @SimonAndréForsberg.
It's a nightmare to learn. Setting it up is easy. =;)-
 
12:38 AM
@SimonAndréForsberg because the winner gets a star... even if the code was written last decade ;-)
 
12:48 AM
@SimonAndréForsberg I wonder if we could add my app?
When I really get working on it, I can do 2-3 major commits in one day, plus 1-5 bug-patching commits per major commit.
 
@Hosch250 You add a webhook to @Duga, @Duga will add your app.
http://stats.zomis.net/GithubHookSEChatService/hooks/github/payload?roomId=1492‌​9 <--- webhook for this room
use roomId=-1 or something if you don't want it posted to a room, just want to be included in the stats
 
So I do that on GitHub?
Which page?
 
@MacroMastery it only works because coll is declared "As New" - a 2-step init would blow up with error 91. don't use objects set to Nothing.
 
#BadAdvice on Twitter
seriously..
recommending to empty a collection by setting it to Nothing, and then to reuse it.
Dim coll As New Collection
coll.Add "Apple"
coll.Add "Pear"
Set coll = Nothing
coll.Add "Pear"
#HowToConfuseNoobs
Dim coll As Collection
Set coll = New Collection
coll.Add "Apple"
coll.Add "Pear"
Set coll = Nothing
coll.Add "Pear" 'boom
 
1:07 AM
Hi, @LokiAstari!
 
hi!
 
1:31 AM
@Mat'sMug #ObviouslyANoob I don't see where the problem lies? Or are there two collections?
 
The second one blows up because the collection is Nothing.
 
@Phrancis Set coll = Nothing sets the reference to Nothing - the next line accesses it, so you get a runtime error 91 "object or with block variable reference not set"
 
The first one works because the compiler creates a new one for you.
 
o.o
Weird
 
yes, and confusing.
yet another good reason to hate As New
 
1:34 AM
So... Set coll = Nothing effectively deletes the collection?
(although, it probably doesn't actually delete it?)
 
it destroys its reference. @MacroMastery erroneously suggests it's a good way to clear a collection
because "hey look, you can reuse it after!"
which is double-wrong
 
Ah, I think I get it
 
@Mat'sMug Is there a way to use one ICommand on two buttons that don't do "quite" the same thing?
 
So you could probably set something like that on a loop and really screw things up, eh?
 
They both call the same method, but pass a different parameter.
 
1:37 AM
you can parameterize commands, yes
never done it though
 
I looked at CommandParameter, and I can access it in the RelayCommand class, but not the particular instance, it appears.
 
what are your two commands anyway?
 
        private ICommand _WSOneNoteCommand;
        public ICommand WSOneNoteCommand
        {
            get
            {
                if (_WSOneNoteCommand == null)
                {
                    _WSOneNoteCommand = new RelayCommand
                    (
                        param => this.SwitchTutorial(AppVersion.OneNoteWStore),
                        param => true
                    );
                }
                return _WSOneNoteCommand;
            }
        }

        private ICommand _WPOneNoteCommand;
And here is the XAML:
<Button Command="{Binding WSOneNoteCommand}" />
<Button Command="{Binding WPOneNoteCommand}" />
 
uh, commands are typically named after what they do. WSOneNoteCommand doesn't tell much.
 
I was just thinking that.
 
1:39 AM
and the two names only differ by a letter?
 
They load different tutorial sets.
One for Windows Store, the other for Windows Phone.
 
SwitchTutorialCommand sounds more appropriate
 
The first param differs:
Yeah, as soon as I can merge them.
 
don't you have conditional compilation statements at startup to determine if your app is running on a WP?
 
Yes, why?
The tutorials can be accessed anyway...
 
1:42 AM
oh. I thought you only ever had one or the other.
 
Screenshot:
 
hmm I'd take the easy route and make it two commands.
but as I said, I've never parameterized a command before
 
That is what I did, but I don't like it :(
The WPF room on SO is dead - they are most active during the work day.
 
1:57 AM
lol.. VBA room too ;)
 
2:16 AM
@Mat'sMug Would it bet better to implement two ICommand classes, or have several handlers and one RelayClass?
Because I could have two classes and two handlers, say, or one class and 5 handlers.
 
not sure
 
I'll ask in the WPF room tomorrow and let you know what they say.
 
thanks
@RubberDuck I'm rewriting the Extract Method refactoring.. and I intend to make it testable. This will be handy elsewhere I'm sure:
2
    public class ActiveCodePaneEditor : IActiveCodePaneEditor
    {
        private readonly VBE _vbe;

        public ActiveCodePaneEditor(VBE vbe)
        {
            _vbe = vbe;
        }

        private CodeModule Editor { get { return _vbe.ActiveCodePane.CodeModule; } }

        public void DeleteLines(Selection selection)
        {
            Editor.DeleteLines(selection.StartLine, selection.LineCount);
        }

        public void ReplaceLine(int line, string content)
        {
            Editor.ReplaceLine(line, content);
I don't know why I waited so long to write this.
 
2:34 AM
I like it. I like it very much.
2
I've not tried to Moq a code pane yet. Should be simple enough for this though.
 
ah, was missing string GetLines(Selection selection)
so I just inject that IActiveCodePaneEditor and #LifeIsBeautiful :)
actually.. shouldn't it be IActiveCodeModuleEditor?
@RubberDuck we don't need to.
we can just set up a Mock<IActiveCodePaneEditor> and walk away
and we can always implement a MockCodePaneEditor that works of a string[] or even a List<string>.
 
 
1 hour later…
3:48 AM
[retailcoder/Rubberduck] retailcoder pushed commit fa676470 to GrammarIsFun: started refactoring ExtractMethodPresenter
 
 
1 hour later…
5:01 AM
oh wow.. I think I just turned this:
        private IEnumerable<ExtractedParameter> ExtractParameters(IList<KeyValuePair<VBAParser.AmbiguousIdentifierContext, ExtractedDeclarationUsage>> declarations)
        {
            var consts = declarations
                .Where(kvp => kvp.Key.Parent is VBAParser.ConstSubStmtContext)
                .Select(kvp => kvp.Key.Parent)
                .Cast<VBAParser.ConstSubStmtContext>()
                .Select(constant => new ExtractedParameter(
                    constant.ambiguousIdentifier().GetText(),
into ...that:
        private IEnumerable<ExtractedParameter> ExtractParameters(IList<Declaration> declarations)
        {
            return declarations.Where(declaration => ParameterDeclarationTypes.Contains(declaration.DeclarationType))
                .Select(declaration => new ExtractedParameter(declaration.IdentifierName, declaration.AsTypeName, ExtractedParameter.PassedBy.ByVal));
        }
 
5:16 AM
NVM, can check myself.
 
5:30 AM
[retailcoder/Rubberduck] retailcoder pushed commit 9c501562 to GrammarIsFun: inputs and outputs refactored
 
TTGTB
 
 
5 hours later…
10:09 AM
0
Q: From New Worksheet, AutoFill Dates, Delete Extra Columns, Save As Month and Year

Meringue90To whom it may concern, I am trying to create an inventory management sheet for a Lodge in Africa. The general conditions of the document are that it has to be easy to use, because the people who are using it are not very computer literate. I have generated a "generic" master document where I ...

 
 
2 hours later…
12:13 PM
@StackExchange this one needs TMLI5 handling for the part I left out
0
A: From New Worksheet, AutoFill Dates, Delete Extra Columns, Save As Month and Year

Mat's MugYour combo boxes are populating themselves when the user clicks ("drops") them ...everytime the user clicks them. Since their data isn't going to change throughout the lifetime of the form, you should populate them once, when the form is shown - use the UserForm_Initialize handler for that. To ...

And that answer qualifies me for a silver vba badge - all I need is votes!
 
12:44 PM
@Mat'sMug Well, you're one closer and I tried not to overwhelm him with my answer.
 
1:05 PM
Well done (could you tell mine was a phone post?)
 
1:20 PM
@Mat'sMug What, you talkin' to me?
@StackExchange Hey, I helped that guy out on SO yesterday, and recommended that he take his Macro Recorder code to CR for some help, and he actually did it!!! There's hope for humanity after all!
2
I didn't mind fixing the broken code, but I didn't have the time or patience yesterday to write out what RD did on his CR answer.
 
Hey! Way to go @FreeMan!
 
:D
 
1:56 PM
Oh! Only 2 votes away from a Bronze badge, and 17 from a bronze!
who knew?
 
Nice!
 
16 votes short of a silver badge here ;)
 
I'm eligible by question count, but I'm about 60 votes short still.
 
@RubberDuck Nice guy. Sheesh!
0
A: How to insert a row every 24 lines using VBA in excel?

RubberDuckJust loop over the range of cells and use VBA's mod operator to check to see if you should be inserting a row. You may also want to read Modulo operator on wikipedia. Public Sub InsertRowOnceEvery24Rows() Dim ws As Worksheet Set ws = ThisWorkbook.ActiveSheet 'adjust this to get the shee...

 
I feel generous sometimes.
Honestly, it's a hard problem for n00bs.
 
2:00 PM
True, but the macro recorder would have shown how to insert a row. Give her a chance to show some initiative...
 
Even for an experienced dev, it's not obvious that you can safely loop over the cells and insert rows between them without adjusting for the insertions.
 
@RubberDuck I feel like a jerk sometimes...
 
Yeah, you're probably right about that.
 
funny, I just actually looked at your code, and it won't do anything. It's looping over Range("A1:A10") and only acting when row mod 24 = 0 which won't ever happen in that range... ;)
 
Please don't recommend On Error Resume Next to people. I'm sure you understand how to use it properly, but very few people actually understand how it works. Cargo cult programmers copy/paste this stuff and then wonder why their code is acting unexpectedly. — RubberDuck 2 mins ago
@FreeMan Yeah. Thanks for that. I was testing it with i mod 2...
 
2:23 PM
in The 2nd Monitor, 15 secs ago, by Duga
Yeah @Tomalak. I'm aware of an idiomatic way to do it. We shouldn't try to force new paradigms on old languages. This code review answer of mine covers it pretty well. — RubberDuck 55 secs ago
 
2:35 PM
Monking
 
LOL. Where the hell is that list of cities coming from? I don't get it.
 
@Phrancis well, you wanted South Shore didn't you?
 
Just a slight overshoot
@RubberDuck Probably some concatenated SQL code in VB6 that gets really confused when the country code is not 'USA'
 
So, is it weird that I'm really concerned about what will happen to my app and database if they get rid of me?
I don't want it to rot...
And it will rot in any one else's hands.
I might as well go through the code base and replace all the comments with
' Magic
2
 
2:49 PM
LOL
 
' Beware, there be dragons beyond these gates.
Nice question.
2
Q: VBA - Is a string an array in VBA that can be iterated through?

timbramIs a string an array in VBA? For instance, can I iterate through it like I could in C/C++ ? Do something like this: char myArray[10]; for (int i = 0; i < length; i++) { cout << myArray[i]; } What would the equivalent be in in VBA? It is not behaving as I would expect. Never actually ...

 
since nobody mentioned it...
0
A: VBA - Is a string an array in VBA that can be iterated through?

Mat's MugMid works to get the nth character in any string, but returns a Variant, which incurs implicit conversion to String. Use the "strongly-typed" version: Mid$ instead.

plus one, this is very true. — Ioannis 1 min ago
and this is why I need to get #407 on track
 
Yeah.
That's a good one.
 
3:04 PM
@RubberDuck 3 1/2 identical answers...
 
Anyone know how to vertically center text on a command button?
I'm not seeing an appropriate property.
 
in VBA? forget it!
 
Sigh Okay.
Thanks.
 
in WinForms I'm not sure
in WPF there's VerticalContentAlignment
or something like that
 
That button needs a bit of work yet..
 
3:20 PM
height +1
 
Yeah. I just made it match the text box and gave it some breathing space so the rounded corners don't look so funny.
 
was going to say, perhaps left + 1 as well ;)
"from" label & dropdown should be aligned to left of textbox, too
 
Yeah. Thanks. Will fix that after lunch. Access is being slooooooowwwwwwwww
 
3:36 PM
Access does do that quite well, The whole "being slow" thing.
3
 
Yup. It basically lets you use illegal identifier names, so you can call hidden members such as MyCollection.[_NewEnum]... it's not intended for bending the naming rules and having illegal identifier names all over the code. — Mat's Mug 11 secs ago
 
@Phrancis ain't that the truth?
 
Now I wonder how RD refactor/rename behaves with those
in theory the grammar handles it
 
3:57 PM
Hey guys I got a quick VBA question
 
'sup?
0
A: VBA Add-in When does ActiveWorkBook become active?

Mat's MugYou're not handling the case where no workbook is active, and Workbook_Open is called before the opening workbook gets activated, so Application.ActiveWorkbook is very possibly Nothing when that code runs - anytime Excel starts actually. The simple solution is to use the wb reference in Workbook...

 
Let's say I wanted a function for say, Outlook or Word, to create a keyboard shortcut to switch the typing font from the current (usually Arial or Calibri) to a mono-space font like Consolas, would I need to write that in VBA or is there already a way to do this?
 
sounds like a job for a little add-in
although I believe Word might have built-in shortcuts for switching styles
but I hardly ever use Word...
 
I'm mostly interested in Outlook, although it would be nice to have for Word...
 
it's ..complicated
might be simpler in Word though
 
4:07 PM
I'm not sure about Outlook, but Word and Excel let you create an add-in document.
Problem will be, you need to duplicate the code in a special document for each different host app.
 
Outlook keeps any VBA you write as an add-in
 
Oh. Okay. I didn't know that.
 
problem with Outlook is that you don't only have mail items to deal with
and then a mail item could be plain text, or not even shown
it's complicated
 
Ah, that's wonky.
0
A: Shortcut or macro for changing font type in Microsoft Outlook

dogbane(The answer by techie007 didn't work for me in Outlook 2010) This macro (adapted from http://www.slipstick.com/developer/word-macro-apply-formatting-outlook-email/) does: Sub SetCodeFont() Dim objItem As Object Dim objInsp As Outlook.Inspector Dim objWord As Word.Application Di...

 
well there, see? it's complicated ;)
 
4:22 PM
Better?
Hmm... I must have selected that label somehow.
 
the buttons look weird
 
Maybe move the cancel button closer to save?
 
make them wider
actually what's missing is this mental line I'm drawing in my head between the top part and the bottom part with the buttons
I'd put the checkbox at the same Y-coords but below the textbox and "browse" button
and shift the dropdowns and buttons down a bit
 
I think I need to restart Access... There's no reason for it to run this damn slow in design mode.
 
perhaps use a frame with a "Period" (whatever is relevant) caption around the dropdowns and labels
Thank you for your time, question was sufficiently answered above — Lererferler 37 secs ago
Yeah, after 20 edits and back-and-forth commenting
 
4:35 PM
Speaking of Access...
Our DBAs need to get better at
 
oh come on
 
IKR.
 
/sadly notes there are no actual CR questions tagged
 
Jamal would burn that tag faster than you know.
 
4:42 PM
It'd be fun though.... I can think of a particular question that would be deserving of that tag.
@nhgrif wrote an entire review about the comments.
 
The only thing I don't like is the timing method - benchmarking in VBA is awful. Rubberduck unit tests are down to millisecond, computed by a .net StopWatch (I know, I wrote it ;) ...I'm going to give it a shot, but I thought I'd let you know about my pet project since I figure it was relevant here. — Mat's Mug 1 min ago
 
@RubberDuck Oh, that was a hot mess that ended up turning a couple good (albeit sarcastic) answers
 
No doubt in my mind that if we were ever to actually to have that tag (we won't) that question would be it.
 
According to Microsoft, "Outlook never has and never will have a macro recorder."Phrancis 15 secs ago
I tried to DV but don't have enough rep on SU
 
@Phrancis got your back.
 
4:59 PM
Thanks dude
The one thing I'm not looking forward to after CR graduation is effective is SO Careers ads all over the site
 
Hmpf. I'm writing VB# again...
private string FolderPicker
 
I put the unit tests on PasteBin - as you see I've extracted most of the setup code into ModuleInitialize so that the tests only test the relevant parts. TestMid runs in 17-22ms, and TestSplit runs in 7-10ms (did a few runs), so yeah, clear winner :) — Mat's Mug 12 secs ago
versus "tick" results:
Time Mid: 4.62962998426519e-05
Time Split: 1.15740767796524e-05
I guess so, but will check first thing I get on a PC (I do PC-based VBA but need the Mac for other stuff). Unit testing support is poor on VBA, and I quite like the other features as well (so far I am using MZ Tools) — Ioannis 1 min ago
 
#DidYouKnow? You can use #Rubberduck's #VBA #UnitTest to compare how different approaches perform, in milliseconds! http://pastebin.com/ew0bUu6M
 
@StackExchange you know, I had to ;)
 
in TCG Creation, 1 hour ago, by Simon André Forsberg
The Cardshifter server is really a lot cleaner than this piece of s*** server.
As you can see, Simon's Battleship game is coming along ;)
 
5:11 PM
lol
 
Oh shit.
> Private Assert As New Rubberduck.AssertClass
I didn't fix that.
 
> Currently, inserting a new Unit Test module includes this declaration for the `AssertClass`.

Private Assert As New Rubberduck.AssertClass

It needs to change now that we've split the project into multiple libraries.

Private Assert As New Rubberduck_UnitTesting.AssertClass
 
@Phrancis There are ads here? AdBlock Plus FTW
 
Not in chat but on the graduated main sites there are
 
there are ads there? AdBlock Plus still wins!
 
5:24 PM
 
> The new Inno Setup installer registers the add-in to the HKCU hive. This is likely a hard requirement for an Office VBE extension.

The problem is that the installer must run under elevated privileges. For some users (like me), this means that it gets installed under a different user account than the one used for development work. The result is that the install completes without error, but the add-in is simply not available.

If I try running Access or Excel as an administrator (i.e., un
 
> Given their down-to-millisecond results, unit tests can be [mis]used for benchmarking and performance-comparing different approaches. We need to turn this into a real feature and have a way of telling Rubberduck that it needs to run a test method n times and report the average duration.

Also we need a way to export test results, at least to the clipboard.
 
:)
 
5:27 PM
@Duga man, you just explained how @Hosch250's install kept saying "add in not found"!
 
> One possibility is to look into using the [PrivilegesRequired](http://www.jrsoftware.org/ishelp/index.php?topic=setup_privilegesrequired) attribute in Inno Setup:

[Setup]
PrivilegesRequired=lowest
 
@Mat'sMug Hmm, but it installed perfectly fine on Windows 10...
 
@Phrancis get more rep, ads disappear past a certain rep threshold
 
@Phrancis Phffffffffpppppp! ;)
 
@Duga As much as I hate Installshield, at least I know how to use it....
 
5:43 PM
Why don't you come alone? http://www.commitstrip.com/2015/05/12/why-dont-you-come-alone/ http://t.co/KtTnVZvz6y
 
6:00 PM
> HKCU is definitely NOT a requirement. HKLM is the default for registration of any DLL, including Excel addins.

The entire point of registering the addin in the per-user HKCU registry hive is so that the installer would NOT require elevation, and individual users could install the addin for themselves without any administrator privileges. However, the installer currently still requires elevation. I really hope to see this corrected, but I have not yet had time to delve into the installer
 
Quote of the day:
> Programing within cells of excel is no problem for me but switching to a real programing language is where I fall short.
4
VBA is a real programming language allright?
 
@FreeMan I don't understand the context of that link, although I do like comics
 
@Phrancis MS bought Skype. Now when you download it it apparently comes with Bing toolbar and whatnot
 
@Phrancis That, and "Ack" were the only two things Bill the Cat ever said.
 
oh, that comic
 
6:04 PM
LOL
 
(penny drops)
 
Last I heard, VB is just pretend.
We're here all night, folks.
 
well if you consider typing a formula in an Excel cell as "programming"...
 
@Mat'sMug That is optional, I leave it out.
 
6:05 PM
we all know you already have Bing! ;)
 
I just use it from the browser search.
 
@Mat'sMug Just like every Flash update comes with the generous offer of installing McAfee Virus software. Even though just about everyone has something else already installed.
 
I prefer McCoffee
 
If you get the Windows Store Skype, it doesn't come with anything, but it isn't quite as feature rich.
 
notes that his in-laws fail to uncheck the box. Every. Stinkin. Time
 
6:07 PM
Now, how can I add my own tags to GitHub?
 
> One other thing... the installer also defaults to C:\Program Files as the installation directory. Installing to this folder would require elevation. If the installer is run from an account without admin privileges, the installer must default to a user-writeable directory such as %APPDATA%, or else it still won't work.
 
go to your repo's [Issues], and select [Labels]
 
@FreeMan In-laws and family members are jut like that, aren't they.
Gosh, how do I turn GitHub emails off?! I don't like being spammed :(
 
Yes, yes they are...
 
@FreeMan Oh and don't forget when you update Java it generously offers you the Ask! toolbar. Good grief.
 
6:10 PM
oh yeah, how could I forget that??!?!??!!?
Really, you'd think that Adobe wouldn't need the extra micro-revenue stream from all that bundling. Are they really that hard up?
or have they purchased Ask & McCrappe
 
Um, have you tried purchasing an Adobe program before?
 
Yes, for class.
I really like PS and Premiere Elements.
 
mostly, they're rather pricey.. though Photoshop & Priemere Elements are reasonable
 
Gets another email from GitHub
 
> @christophocles we changed that in the 1.3.0.1 installer scipt, it installs to all-user %APPDATA% (C:\ProgramData\Rubberduck), do address #440.
 
6:12 PM
s/do/to
 
@Duga I don't like that guy. That's okay, right?
 
@Hosch250 you're watching the Rubberduck repository, so you're receiving all notifications (like 15 other people) - if you want you can un-watch us and only get notified when participating and/or when mentioned.
 
OK.
 
you get all conversations from @Duga right here anyway ;)
 
I think I'll set up my email to auto-move them into a folder so they aren't spamming my inbox.
 
6:18 PM
That's how you turn off the emails
 
Thanks.
 
> @christophocles we need to register classes to the GAC, which is always going to require admin rights, as far as I know. A true per-user install is simply not going to happen (unless someone else wants to create an installer package and submit a pull-request).
 
Sigh... Real work rears its ugly head. Y'all have fun now, ya hea?
2
 
@RubberDuck we're not registering anything into the GAC... ....are we?
 
Yeah. That's what regasm does.
 
6:23 PM
Global Assembly Cache is where the .net framework assemblies are located. regasm doesn't mess with the GAC
 
removed
Still, admin rights required to register the classes.
 
indeed
 
This guy wants to harp on a per-user install that isn't going to happen.
 
but only because they need to be registered under HKLM
...which needs admin rights
 
If he wants it so bad, let him figure it out and submit a PR.
 
6:27 PM
his only GitHub contributions are on our repo ;)
 
Oh wow.
 
didn't star us [yet].
 
6:41 PM
> @christophocles we're also installing libraries for VBA client code (including the Unit Testing functionality). This disallows a per-user install and is one of the reasons we declined #310. We're sorry that this is an inconvenience for you.
 
6:55 PM
@ticker wtf dude
 
7:16 PM
> I just changed my development user account from "Standard user" to "Administrator" and re-installed Rubberduck. The install seemed to go OK, but the first time I tried to open the VBA IDE, I got the following error message:

> 'Rubberduck' could not be loaded.
> Remove it from the list of available Add-Ins?

I did some digging and it looks like the problem originated with the `RegAsm.exe /codebase` command. There was no error during installation, so I tried running the RegAsm command
 
@Duga I don't even know where to start with that one.
 
> So... the solution is to package every possible version of the DLL?
> I think there are some less drastic options (but I'll admit this is not my area of expertise).
 
is 97-2003 officially supported?
 
How could it be? Neither of us can test it.
 
7:25 PM
@Duga smart. I think we're doing that though
 
> Hmm.... Embedding interop types might undo our ability to package the unit testing as a separate dll. Which, is okay I suppose.
 
We're not.
 
> Option B: Use NetOffice instead of the Office Primary Interop Assemblies
> We've discussed NetOffice before. There wasn't a need at the time. @retailcoder perhaps we should revisit.

Although, I'd still like to know why RD isn't finding the extensiblity library. Shouldn't it be installed with every office installation?
> This isn't an ordinary interop assembly here, it's the VBE Extensibility library. Does NetOffice package that?
> That's a good question. I don't know off-hand.
> Option C: If possible, use an older version of the 'Microsoft.Vbe.Interop' library

Depending on what functionality you are relying on, this is a possibility. I don't know what this would require as far as Rubberduck developers having this older copy. This may or may not be practical.
 
oldest I have is 12.0
 
@Mat'sMug I could wrangle up a 2003 copy I think.
 
7:36 PM
> Option D: Tell me (and all the other laggards) to get a recent version of Office already ;)

This is not an unreasonable approach by any means.
3
> LOL! :laughing: I was getting there @mwolfe02! haha.. seriously, I think the first thing to check is whether we're embedding the interop types for that assembly.
> I can confirm that we're not. I was just looking at it the other day when I was splitting RD into multiple projects. Maybe we should be.

FYI: [NetOffice has a VBIDE library](http://netoffice.codeplex.com/SourceControl/latest#Assemblies/Any CPU/VBIDEApi.xml)
> @mwolfe02 I just noticed why it used to work for you, but doesn't now. The machine that I built the installer on has Office 2007 installed on it. @retailcoder built that last installer on his machine, which has a newer version installed than my dev machine.
> @ckuhn203 eh, tag 1.3.0.1 was created by you, remember :wink:
 
@Mat'sMug Why would you want to support something that old?
 
7:51 PM
because the VBE is old enough to drink beer in Canada
4
 
Yikes!
 
@Mat'sMug do you know off the top of your head of public class Constants are available without having an instance of it?
 
they shouldn't be. instance fields are instance fields ;)
 
Damn. I hate VBA somedays.
In C# I'd declare it static and problem solved.
 
whatever happened to #GlobalsAreBad?
 
8:04 PM
Think of it like Int.MAX
I want a Cycle.MAX_CYCLE_NUMBER
 
8:28 PM
> I absolve myself of all responsibility for the 1.3 release. :smile_cat:
2
 
8:40 PM
 
8:54 PM
Dirty Dirty Dirty
Do While IIf(cycYear = cycTo.Year, cycNum <= cycTo.Number, cycYear < cycTo.Year)

    'ExportSchedule wb, cycYear, cycNum, this.CurrentFilter

    Debug.Print cycYear; cycNum

    If cycNum = cycFrom.MaxCycleNumber Then
        cycNum = cycFrom.MinCycleNumber
        cycYear = cycYear + 1
    Else
        cycNum = cycNum + 1
    End If

Loop
But it works...
 
00:00 - 21:0021:00 - 00:00

« first day (340 days earlier)      last day (2840 days later) »