« first day (748 days earlier)      last day (2432 days later) » 

11:06
That would be the goal to have it fully integrated into the code base for distrubution whenever anyone needs it.
I only just started on this concept and proposed to the RD's gang. They like the idea.
In time, I will get the hang of markdown typing at the PC or ipad to/from work at whatever time I can do.
and be working through my grid/matrix if you see my PR one box at a time.
Cool... are you in IT, branching out?
I welcome any feedback of course
Was in IT now in healthcare
I'd have to test it... I had a quick read through the feature request and looks interesting, in a L&D role?
L&D role, nah. when you want to play dungeons and dragons using a dice from the late 80's you pick up ideas. ;)
> With my fork in sync with https://github.com/rubberduck-vba/Rubberduck/commit/f0f830bbd2d2e96cf0a7de95332dfe9ebe84db20. I too got the open excel -> load rubberduck -> Close excel -> Exception.
```
Exception thrown: 'System.Runtime.InteropServices.ExternalException' in System.Windows.Forms.dll
Exception thrown: 'System.Runtime.InteropServices.ExternalException' in System.Windows.Forms.dll
Exception thrown: 'System.Runtime.InteropServices.ExternalException' in System.Windows.Forms.dll
Exce
11:18
since '92 with my diploma. All I learnt COBOL and worked with a telecommunication industry for a while switching between mainframes and Microsoft 2007 products, then I was outsourced twice before moving onto another industry after my late mother passed away.
so now settled very happly in the healthcare industry which is flexible in my time for myself and the family.
and U @SlowLearner any industry you in?
11:46
ok time to say good night to all.
Me, workplace training
Cya
> The VBE doesn't load addins on command-line, the registry value `CommandLineSafe` has no effect whatsoever as far as I understand, for VBA IDE addins. Therefore, no command can be sent to Rubberduck to instruct it to run the tests.

But, the test methods themselves can be executed, and the assert calls will be made... but the logic that evaluates assert results to determine whether a test passed or not, won't.

I cannot think of any way to make this work ATM, if anyone does, feel free to s
 
2 hours later…
14:00
2
Q: Dealing Poker Hands

RaystafarianI thought I'd give a shot at creating my own version of dealing 5-card hands to n players in VBA, printing them to columns and coloring hearts and diamonds red. I felt I might have been a little repetitive and I had to jump through some hoops to avoid ByRef. Anyhow, what can I improve? Option E...

14:54
> Sorry, @Hosch250, I am still getting the error.
I'm attaching a workbook where it happens.
[RD Issue 1846.zip](https://github.com/rubberduck-vba/Rubberduck/files/330210/RD.Issue.1846.zip)
![rd issue 1846](https://cloud.githubusercontent.com/assets/11889733/16307837/b86de340-3930-11e6-81bc-8ca4d5e8e60b.PNG)
> Sorry, @Hosch250, I am still getting the error.
I'm attaching a workbook where it happens.
[RD Issue 1846.zip](https://github.com/rubberduck-vba/Rubberduck/files/330210/RD.Issue.1846.zip)
![rd issue 1846](https://cloud.githubusercontent.com/assets/11889733/16307837/b86de340-3930-11e6-81bc-8ca4d5e8e60b.PNG)
 
1 hour later…
16:08
@Mat'sMug I'm looking at 1846, and I found an old bug.
I can't remember the original behavior, so...
Did ParentDeclaration use to be the module the declaration was assigned in, or was it always the direct parent?
_isSelfAssigned = isSelfAssigned || (declarationType == DeclarationType.Variable && parentDeclaration != null && parentDeclaration.IdentifierName == ComponentName);
Specifically, this bit:
_isSelfAssigned = declarationType == DeclarationType.Variable && parentDeclaration != null && parentDeclaration.IdentifierName == ComponentName;
funny you mention, I was running inspections against the above "Dealing Poker Hands", and noticed the UntypedFunctionUsageInspection wasn't firing up results as I expected, ..so there's another one that's broken ;-)
That now fires for variables defined in a parent function with the same as type as the variable.
@Hosch250 ParentDeclaration is a relatively recent addition, I'm pretty sure it was always the direct parent
@Mat'sMug That's old news. I can't get the resolver to resolve those $ functions.
@Mat'sMug What is the expected value here?
Obviously, that condition isn't working.
The closest guess I have is that it should be checking the parent module declaration.
yeah, that was the intent
hmm IIRC that used to be a ParentScope string, and was turned into a Declaration and then repurposed - that's propably how the inspection broke
16:13
_parentDeclaration = parentDeclaration;
_parentScopeDeclaration = _parentDeclaration;
ParentScoping (?) isn't necessarily the direct parent. The distinction is useful for Enum and Type members; their ParentDeclaration will be the Enum or Type declaration, but their ParentScoping will be the module's.
in other news, I'm back to 51,000... took me almost a whole week to recover all that lost rep from last Friday.
I've not answered many questions since WinterBash.
I've pretty much left SE, other than chat.
The big thing for me is that people are, for the most part, making more nitpicks about my code, instead of the huge, comprehensive answers I used to get.
16:34
var parentModule = parentDeclaration;
if (declarationType == DeclarationType.Variable && parentDeclaration != null)
{
    while (parentModule != null && !parentModule.DeclarationType.HasFlag(DeclarationType.Module))
    {
        parentModule = parentDeclaration.ParentDeclaration;
    }
}

_isSelfAssigned = isSelfAssigned || (declarationType == DeclarationType.Variable && parentModule != null && _asTypeName == ComponentName);
Does that look right?
@Mat'sMug?
Wait a sec, why am I finding the parent module here?
If I do it the old way, but with the parent module instead of the parent declaration, I'm just comparing the name to itself.
what inspection is this again?
Object Reference is Self Assigned.
The bug is in Declaration where _isSelfAssigned is set.
yeah, ok. you're looking for local variables, the inspection wouldn't apply to module-scoped fields.
that's why you're checking the parent declaration
UserDeclarations
            .Where(declaration => declaration.IsSelfAssigned
                && declaration.IsTypeSpecified
                && !ValueTypes.Contains(declaration.AsTypeName)
                && declaration.DeclarationType == DeclarationType.Variable
                && declaration.ParentScopeDeclaration != null
                && declaration.ParentScopeDeclaration.DeclarationType.HasFlag(DeclarationType.Member))
@Mat'sMug I think that is handled in the inspection.
The bug isn't the inspection--it is Declaration.
Declaration is assigning IsSelfAssigned when it shouldn't be.
hmm that's annoying then
16:44
_isSelfAssigned = isSelfAssigned || (declarationType == DeclarationType.Variable && parentDeclaration != null && parentDeclaration.IdentifierName == ComponentName);
What are we trying to check there?
where is this??
@Mat'sMug In Declaration.
This is, as I said, checking the parent declaration's identifier name (the procedure the variable is defined in) against the type.
remove || and everything that follows, it's not clear why that's there
oh wait
yeah
You put it there yourself in a commit about a bug in this.
ensured UDT variable is always self-assigned
shit. and IIRC @Vogel612 commented on that and asked why the hell I wasn't making the constructor's caller responsible for this
big huge TOLD YA here
16:49
Based on the commit message, I just need to check if the parent is a UDT?
picture this:
Private Type TFoo
    Foo As Integer
End Type
Private this As TFoo
the parent of this is the module
you need to check if the type of this is a UDT
I think we have that now, but we didn't have it then
@Mat'sMug TOLD YA
or something?
16:51
I kinda missed what this was about
private Declaration _asTypeDeclaration;
public Declaration AsTypeDeclaration
{
    get { return _asTypeDeclaration; }
    internal set
    {
        _asTypeDeclaration = value;
        IsSelfAssigned = DeclarationType == DeclarationType.Variable &&
                         AsTypeDeclaration.DeclarationType == DeclarationType.UserDefinedType;
    }
}
Like that, @Mat'sMug?
That isn't assigned until the type annotation pass, so I can't assign it in the ctor.
well a variable would also (and primarily) be self-assigned if it's declared As New Something
@Mat'sMug Well, I still have this in the ctor: _isSelfAssigned = isSelfAssigned.
That's just an extra check that has to wait until the type annotation pass.
yeah, but then you're ignoring it in that internal set property accessor...
Oh, duh.
IsSelfAssigned = IsSelfAssigned || DeclarationType == DeclarationType.Variable &&
                 AsTypeDeclaration.DeclarationType == DeclarationType.UserDefinedType;
16:59
good, except I'd work off the private field there.
Merge pull request #1901 from Hosch250/parserbugs

Fix crash on Excel load
[Hosch250/Rubberduck] Hosch250 pushed commit 330423b0 to Issue1846: Close #1846
> Close #1846
and you ran the tests?
Yes.
17:09
@Mat'sMug About Implicit Reference to Active Workbook, is this the correct parent scope?
"EXCEL.EXE;Excel._Application"
Are you sure it isn't "EXCEL.EXE;Excel._Global"?
That's what it resolves to when I do this:
Sub foo()
    Dim d As Variant
    d = Worksheets(1)
End Sub
[rubberduck-vba/Rubberduck] build for commit 330423b0 on unknown branch: AppVeyor build succeeded
well, either is an implicit reference to the active workbook...
even a qualified Application.Worksheets(1) implicitly refers to the active workbook
17:13
What about "EXCEL.EXE;Excel._Workbook"?
  Dim TheWB As Workbook
  Set TheWB = ActiveWorkbook

  Dim SourceSheet As Worksheet
  Set SourceSheet = TheWB.ActiveSheet

  Dim RuleSheetName As String
  RuleSheetName = SourceSheet.Name & RuleSheetNameSuffix
  On Error Resume Next                          'if the rule sheet doesn't exist it will error, we don't care, just move on
  Application.DisplayAlerts = False
  TheWB.Worksheets(RuleSheetName).Delete
well that's pretty explicit isn't it?
uh, who put Rubberduck on Codewake?
I just got an email saying "You received a $5 donation for Rubberduck"
I have no idea.
[rubberduck-vba/Rubberduck] build for commit f73737ff on next: AppVeyor build failed
BUILD FAILURE!
[Hosch250/Rubberduck] build for commit 330423b0 on Issue1846: AppVeyor build failed
BUILD FAILURE!
Looks like timeout loading NuGet packages.
Q: What's another name for a clever duck?
A: A wise quacker!
@Mat'sMug I can't find anything Rubberduck on code wake.
"EXCEL.EXE;Excel._Workbook"
"EXCEL.EXE;Excel.IRange.ApplyNames"
"EXCEL.EXE;Excel.Window.ScrollWorkbookTabs"
"EXCEL.EXE;Excel.IDialogSheet"
"EXCEL.EXE;Excel._Global"
"EXCEL.EXE;Excel.Range.ApplyNames"
"EXCEL.EXE;Excel._Application"
"EXCEL.EXE;Excel.IWindow.ScrollWorkbookTabs"
"EXCEL.EXE;Excel.DialogSheet"
"EXCEL.EXE;Excel._Worksheet"
hmm perhaps it's just a "join code code wake" email / spam
17:21
@Mat'sMug Which of those should trigger the inspection?
what are you looking for?
Implicit active workbook references.
_Global and _Application .......most of the rest isn't relevant IMO
[Hosch250/Rubberduck] Hosch250 pushed commit 2aae8fcc to Issue1846: Fix scoping of Implicit Active Workbook Reference Inspection
Merge pull request #1904 from Hosch250/Issue1846

Fix ObjectVariableIsSelfAssigned
[Hosch250/Rubberduck] web-flow pushed commit dbc135ae to Issue1846: Merge branch 'next' into Issue1846
[Hosch250/Rubberduck] build for commit 2aae8fcc on Issue1846: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 2aae8fcc on unknown branch: AppVeyor build succeeded
17:35
After lunch, I'm going to try to figure out why the COM collector isn't picking up vbBlack.
[Hosch250/Rubberduck] build for commit dbc135ae on Issue1846: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] Hosch250 pushed commit 2aae8fcc to next: Fix scoping of Implicit Active Workbook Reference Inspection
[rubberduck-vba/Rubberduck] web-flow pushed commit dbc135ae to next: Merge branch 'next' into Issue1846
Merge pull request #1905 from Hosch250/Issue1846

Fix scoping of Implicit Active Workbook Reference Inspection
[rubberduck-vba/Rubberduck] build for commit dbc135ae on next: AppVeyor build succeeded
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1846
[Hosch250/Rubberduck] Hosch250 deleted branch Issue1885
[Hosch250/Rubberduck] Hosch250 deleted branch parserbugs
[rubberduck-vba/Rubberduck] build for commit 56334460 on next: AppVeyor build failed
BUILD FAILURE!
17:57
More NuGet problems.
18:34
Hey guys, just a quick stop in today to let you know that the IDE hijacking focus when a new workbook is opened in Excel seems to be back.
i.e. I've got a workbook open with the IDE open. I open another Workbook & start scrolling through it. suddenly, I'm scrolling through code in the IDE while the throbber spins as it's parsing.
gotta run, critical projects...
Well, I figured out the bug.
It's the way I handle the things to get events.
18:51
[Hosch250/Rubberduck] Hosch250 pushed 31 commits to COMCollectorBugs (only showing some of them below)
[Hosch250/Rubberduck] Hosch250 pushed commit cdd43368 to COMCollectorBugs: Merge branch 'next' of github.com/rubberduck-vba/Rubberduck into Issue1885
Merge pull request #1896 from Hosch250/Issue1885

Fix caching bug
[Hosch250/Rubberduck] Hosch250 pushed commit 530c907d to COMCollectorBugs: Fix crash on Excel load
Merge pull request #1901 from Hosch250/parserbugs

Fix crash on Excel load
[Hosch250/Rubberduck] Hosch250 pushed commit 330423b0 to COMCollectorBugs: Close #1846
Merge pull request #1904 from Hosch250/Issue1846

Fix ObjectVariableIsSelfAssigned
[Hosch250/Rubberduck] Hosch250 pushed commit 2aae8fcc to COMCollectorBugs: Fix scoping of Implicit Active Workbook Reference Inspection
And that boosted the number of loaded declarations by about 5k.
[Hosch250/Rubberduck] web-flow pushed commit dbc135ae to COMCollectorBugs: Merge branch 'next' into Issue1846
Merge pull request #1905 from Hosch250/Issue1846

Fix scoping of Implicit Active Workbook Reference Inspection
[Hosch250/Rubberduck] Hosch250 pushed commit 05141a3e to COMCollectorBugs: Only cache members with GUID's
[Hosch250/Rubberduck] build for commit 05141a3e on COMCollectorBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 05141a3e on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] Hosch250 pushed commit 05141a3e to next: Only cache members with GUID's
Merge pull request #1906 from Hosch250/COMCollectorBugs

Only cache members with GUID's
@Mat'sMug @SlowLearner @FreeMan We're about 1.5 days from the next release--what do you want fixed the most?
I'll be back to look at suggestions in a bit--walk time.
[rubberduck-vba/Rubberduck] build for commit 86d84ecd on next: AppVeyor build succeeded
Zak
Zak
@Hosch250 I just want my damned Source Control working, and to be able to close/open/rename workbooks without errors popping up.
The rest I can live without, those really hurt.
19:06
I'd like inspections to start working the way they should
and quick-fixes
and then refactor/rename needs to stop crapping the whole thing
19:33
@Mat'sMug It doesn't here...
And for the most part, inspections and quickfixes both work.
@Zak The issue with SC failing is fixed--the trouble was the installer didn't create the Rubberduck folder.
Renaming workbooks does work here, I'm not sure what is going on here.
What kind of errors pop up?
Zak
Zak
@Hosch250 Possibly fixed already. I'm back to 2.Alpha because SC.
OK, I just got it to crash.
The rename succeeds, but it crashed when I tried to open the component.
This is weird. It is almost like it completely recreates a component when it is renamed, making all access to the old component crash.
@Hosch250 sinks are interacting there I guess
DirectoryNotFound when accessing properties.
I fixed it, maybe.
@ThunderFrame What's this doing in AddTestModuleCommand?
public override bool CanExecute(object parameter)
{
    var app = _vbe.HostApplication();
    if (app == null || _state.Status != ParserState.Ready)
    {
        return false;
    }

    // Outlook requires test methods to be located in [ThisOutlookSession] class.
    //return app.ApplicationName != "Outlook";
    return true;
}
That can be removed, right?
We don't need a Ready state to add a module, nor do we need to check the host anymore, right?
That host check leads to the crash.
19:57
Actually, that wouldn't be the best UI to have it enabled when we don't support it.
However, I did add a method HostSupportsUnitTests that doesn't create an instance of it.
Well, now it just bubbles into the resolver.
I guess that's probably a better thing.
@Hosch250 well if we don't have a host app we probably don't want to add test modules. the comment about outlook can be removed, it's stale now.
@Hosch250 oh
@Hosch250 IIRC, I only commented out the return app.ApplicationName != "Outlook"; but left it there as a reminder of Outlook's awkwardness. The Outlook lines can be removed.
It doesn't crash there anymore, it crashes in the resolver.
I made it check for a valid host app rather than creating an instance of it right there.
adding a test module might try to add a reference to Rubberuck, which would reset the running code?
20:14
OK, @Zak, I fixed the rename project crash.
We were clearing the child components, but not the project "component" from the cache.
That was leading to duplicate project declarations crashing some Single calls.
@Hosch250 was that causing the ghost projects, and maybe crashes on exit?
@ThunderFrame What do you mean by "ghost projects"?
@Hosch250 Woot!!
Yes, it would lead to RD thinking there were more projects than there were in certain instances.
projects that remain in Project Explorer, even thought they've been closed in the App.
20:17
Not as far as I know.
@ThunderFrame I've noticed that in Excel, you have to go to them, then go back to another one before it refreshes.
Word refreshes correctly, but...
I'm not sure what's up with that--this may have been a contributing factor since it detected that Rubberduck held a reference to it still.
furious, repetitive refreshes tends to fix it for me.
yep, ghost projects are caused by referencecounts not being 0, IIUC. Rubberduck isn't the only addin that can cause this. IIRC, Power Query addin causes similar issues.
I haven't read this whole article, but if it wroks in VB6, it should work in VBA too? codeproject.com/Articles/18954/Interop-Forms-Toolkit-Tutorial
> Interop Forms Toolkit 2.0 is a new bridging tool allowing developers to use .NET Forms and .NET UserControls in VB6. This tutorial demonstrates how to add webservices, multithreading, and XAML to VB6 projects.
yay, another CPOL-licensed tool
20:33
[Hosch250/Rubberduck] Hosch250 pushed commit f3a6b6d7 to COMCollectorBugs: Fix rename-project crashing bug.
spots typo, is happier with wroks anyway
2
Merge pull request #1906 from Hosch250/COMCollectorBugs

Only cache members with GUID's
[Hosch250/Rubberduck] web-flow pushed commit 5d696cbc to COMCollectorBugs: Merge branch 'next' into COMCollectorBugs
Interesting. Which part was responsible for the crash?
[Hosch250/Rubberduck] build for commit f3a6b6d7 on COMCollectorBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit f3a6b6d7 on unknown branch: AppVeyor build succeeded
[Hosch250/Rubberduck] build for commit 5d696cbc on COMCollectorBugs: AppVeyor build succeeded
@Mat'sMug I just told you. We weren't clearing the old declaration.
That was making a Single call in the CE crash because it only expected one project declaration per project ID.
Renaming a document component, such as ThisWorkbook, works as long as there are no references to it.
20:44
Oh... oh wow.. that must ripple goodness in plenty of places too!
Once there are references, it renames, but it also crashes.
I'm guessing it is something about the references holding a handle to the unchanged component.
Clear references before renaming?
Well, I clear the declaration when I detect a renamed component--that should make the references eligible for GC.
@Hosch250 likely
[rubberduck-vba/Rubberduck] build for commit 5d696cbc on unknown branch: AppVeyor build succeeded
20:50
@Hosch250 Morning all - I just woke up, no idea what you're chatting about but don't forget ThisDocument :-D ;-)
I wonder what it would cost for the San Francisco Giants or something to endorse Rubberduck as their official VBE add-in.
2
I bet I could get them to do it for pretty cheap since there isn't a lot of competition.
@Hosch250 no such thing until we stabilize, please! lol
@Hosch250 Rubberduck, Proud sponsors of Game Of Thrones...
@SlowLearner lol
I thought we were stable.
At least, we've fixed about 5-10 major bugs since Friday.
21:00
yep, that's excellent. to me "stable" means we no longer get new issues about a crashing host app, that the resolver works as it should in all known cases, inspections yield zero false positives caused by bugs, quickfixes work as intended, refactorings work as intended, SC works as intended, ...basically all features work as intended
maybe I'm a bit over-doing it
Before this gets old.... Game Of Thrones, brought to you by Rubberduck - Ad free so you can get back to the 21st Century sooner
> the Iron Throne, proudly refactored by Rubberduck
@Mat'sMug not so prickly, the winter is over
> "Ducky is coming" - Ned Stark
a rubberduck is no one
21:05
> "No test may pass" - House Allyrion
> "Our code is sharp" - House Bolton
> "Hear me quack!" - House Lannister
that's actually the best one lol
(actual Lannister motto is "Hear me roar!")
What are the originals? I can figure out "Our sword is sharp".
> "Come try me" - House Plumm
(unaltered)
Daenerys Targaryen - The Unbugged, Breaker of functions, Khaleesi of the Great VBE, and Mother of Rubberducks.
2
@Comintern LOL
I was thinking of mixing it up... the duck with the dragon tattoo
> "Never Testing" - House Ambrose
> "Parsed and Ready" - House Cerwyn
The duck of the North, the duck of the North
The duck beyond the wall
> House Hightower - We Light the Way
> House Serrett - I Have No Rival
IKR
man, I don't know half these houses
21:10
> House Lonmouth - The Choice Is Yours
> House Stark - Rubberduck is Coming
> House Wensington - Start the Change
> House Wode - Touch Me Not
We don't want to use that one, lol.
I'm leaning towards Daenerys.... @Comintern .... definitely on the right path breaker of bugs... more apt
"Rubberduck is Coming" - House Stark "Hear me Quack!" - House Lannister "Parsed and Ready" - House Cerwyn ...sorry, couldn't resist.
there
LOL.
@Mat'sMug Is it acceptable to completely unload/reload a project when a component is renamed?
That's the only way I can get this to work.
At least, that's the only way that's worked so far.
@Hosch250 picture a 30K LoC project
:/
@Mat'sMug I'd rather have it reparse the project and stay open than go to a resolver error and make me reboot the whole bloody thing.
At least this way, it doesn't reload the COM references.
Even when I change the code, I can't get it past a resolver error.
What's reparsing the project doing differently?
21:29
It removes the entire project from the cache.
Let's say I rename ThisWorkbook with a reference to it in Sheet1.
Every time I access Sheet1's properties/HasDesigner/whatever, it crashes with a Directory Not Found error.
I'm guessing that something is changing in the referenced components deep in the VBE that is causing this.
The Project gets a new hashcode perhaps
Maybe.
Driving
But don't we always check HelpFile then?
What's the IOException coming from anyway?
21:33
It isn't an IOException.
DirectoryNotFound would be derived from it
It is coming when I try to create the declaration--it either access the properties to get the underlying type or this:
if (component.Type == vbext_ComponentType.vbext_ct_MSForm || component.Designer != null)
{
    DeclareControlsAsMembers(component);
}
@Mat'sMug Interesting. It only crashes when I rename ThisWorkbook, not Sheet1.
I'm guessing that the underlying workbook contains references to the sheets, and the sheets are somehow changed when the workbook is renamed.
Would it be OK to reload the entire thing when the ThisWorkbook component is renamed?
> I can verify that. It goes through parsing, and starts resolving (uses a lot of CPU for some time while doing this) thereafter it just stays in resolving at 0% cpu. I am using latest 2.0.2b.
> Huh. I've been testing with Access a lot lately, and I've not had this problem.
I'll make a PR, and you can check it out.
[rubberduck-vba/Rubberduck] Hosch250 pushed commit f3a6b6d7 to next: Fix rename-project crashing bug.
[rubberduck-vba/Rubberduck] web-flow pushed commit 5d696cbc to next: Merge branch 'next' into COMCollectorBugs
Merge pull request #1907 from Hosch250/COMCollectorBugs

Fix rename-project crashing bug.
> Which version of Access are you running? I can replicate this in 2007 and 2010, and even 2003 - which works completely the same
[rubberduck-vba/Rubberduck] build for commit 69337cee on next: AppVeyor build succeeded
> 2016.
> 2016.
> Version 2016. It shouldn't be an issue--it is the same VBE.
> true, it should not.. I do not have a newer version here at the moment, but can try in a day or two to see if there is any difference and will report back.

« first day (748 days earlier)      last day (2432 days later) »