« first day (2611 days earlier)      last day (56 days later) » 

12:03 AM
[Minesweeper] 92 Games Played. 54 Bombs Used. 13081 Moves Performed. 8 New Users
[rubberduck-vba/Rubberduck] 2 issue comments
12:25 AM
> @retailcoder Hi Mathieu,
I am very interested in replacement of existing editor. Is there some reading for that? Any links, documentation etc
1:13 AM
> @sharpcoder7 have you looked into [twinBASIC](https://twinbasic.com)? It's still in early stages, but progressing quickly and roadmapped to somehow integrate with VBA. It's an add-in for the VS Code editor, so you get all the perks of a current-day, lightweight IDE, with 100% backward compatibility with VBA/VB6.
If I misunderstood your question and you actually meant to ask about how we'd go about implementing our own custom code panes in Rubberduck, we're pretty much in uncharted territory bu
2 hours later…
2:51 AM
> @retailcoder got it, I thought that microsoft have some sort of api for "enhancing" standard editor. I`ve seen some extensions which adds a lot of useful features like extra syntax highlighting etc, so I thought that they somehow modified the existing editor, but it looks like they just implemented custom windows like you want to.
About twinBasic, yes I know that, it looks promising but it is not open source :) I prefer open products. Rubberduck itself is great project but it does not work w
> @retailcoder got it, I thought that microsoft have some sort of api for "enhancing" standard editor. I've seen some extensions which adds a lot of useful features like extra syntax highlighting etc, so I thought that they somehow modified the existing editor, but it looks like they just implemented custom windows like you want to.
About twinBasic, yes I know that, it looks promising but it is not open source :) I prefer open products. Rubberduck itself is great project but it does not work w
3:37 AM
8 hours later…
11:23 AM
@HackSlash sadly that discussion did nothing but confirm the impression I originally had
12:18 PM
mkaaaay... @this is confusing. I'm trying to import code into a very small Access project using OASIS. It's failing to do so, and this is the text in the error log:
Microsoft Access encountered an error while importing the object 'Master'.

Error encountered at line 1.
This object was created with a newer version of Microsoft Access than you are currently running.
Yet both .accdb files reside on the same machine and both are using Office Pro Plus 2016
This .accdb was originally created by someone else, but he should be on the same version of Office, and I don't think I've ever edited either copy on my new laptop running O365
anyone have any tips?
1:15 PM
It is highly unlikely that you're going to write code in interpreted VBA that's going to be more efficient at calculating a min/max over a column than the predefined function built into Excel. TBH, that really applies to any of the built in Excel functions. — FreeMan 53 secs ago
Why do people (especially those who are posting Macro Recorder results!) really seem to think that they're going to come up with more efficient code than what's been shipped?
1 hour later…
2:19 PM
Also, why in the world won't SO keep me logged in??? I'm obviously logged into chat, and I've been looking at other SE sites, but SO always wants me to log in. I might actually remember my random password if I have to keep typing it in!
2:47 PM

Senior Data Scientist


SiteZeus is hiring a Data Scientist to join our growing product team! Our ideal candidate has a strong background in…

Posted on Stack Overflow Jobs on July 30, 2021

Salary Range: $ 900k - 125k.
apply quick!
3:02 PM
Be careful, it might be a deal where you get 900K, then get a pay raise of $-25K every year until you hit the floor of $125K....
(if you are going to be happy with $125K as a minimum, then... )
3:21 PM
@this well... if you're smart enough to bank the cash now and pay yourself 1/2 the difference each year out of your bank...
Yep. You don't want to start living like you make $900K the first year.
@FreeMan are they in fact the same version? Just being on O365 doesn't mean they are on same build or channel.
3:39 PM
@FreeMan, There are a few settings in Access that control the Database Version of the file created. I don't believe your problem has to do with the version of Access used.
When you make a new .accdb file in modern Access it defaults to a file version that has a minimum Access version of 2007. There are settings that can increase this minimum version. One example is "Caching Web Service". If you turn that on then the minimum access version becomes 2010. Another example is BigInt. If you turn on BigInt Support then the file becomes minimum version 2016.
Try turning on BigInt support under Options > Current Database > Data Type Support Options
Correct but the issue remains if he can't import it in the other computer.
in theory, the other computer running Office365 ought to be able to read the same text file and I don't think we have had new features that would require an update to the Office 365 to support the file version.
I'm thinking he is importing something from a BigInt DB in to a new blank DB that is in 2007/2010 format.
Here is the 2019 release notes: support.microsoft.com/en-us/office/…
hadn't tried importing between two files like that. However, with export text there are 2 properties at the top of the text file that sets minimum version and required versions.
they are a weird number --- 2007 is 19, I think.
@this nottafrigginclue
I do recall a problem if you export a file that is 20/21 in the text file, it will fail to import in a earlier version (e.g. 2007 vs. 2010). But betweeen 365 and another 365?
@FreeMan easy to find out --- File -> Account The build info is on the right and you can get the build version when you click on About Access
3:57 PM
Code was exported from here:
attempted to load into here:
now, I'm no expert, but those look pretty identical to me.
@HackSlash Both DB have Caching Web Service enabled.
I don't see an Options > Current Database > Data Type Support Options setting.
And, TBH, the "production" version that I'm attempting to import the code into started life as a physical disk copy of the "Dev" version that I've exported the code from.
Gleesh. The BigInt is at the very bottom of the settings.
The error might be a red herring
4:18 PM
what does the version lines on the top of your text files say? 20/21?
4:29 PM
This is from the .layout file:
Version =20
VersionRequired =20
so yes, 20.
(made that difficult, didn't I?)
If I manually delete the from from the "import to" db, would I then be able to overwrite it?
ooohh... This is from the PROD version that I'm importing to:
Version =21
VersionRequired =20
so this is v21, but it says that only 20 is required...
yes, that's the problem
edit Version to 20
then you'll be able to import.
wellllll... that's dumb.
Will I have to do that every time, or should I import the v=20 version back into my Dev copy & check it into git that way, too?
no no no no no no no. that is not dumb. You meant to say that's Microsoft.
synonyms. "dumb" is less to type than "microsoft", so...
but, to the 2nd point?
well, I believe there's a nightly version of OASIS that has that option enabled. I wrote the guy about about that and that allows one to control the version.
the alternative is to uncheck the ..... Compatibility Mode ? in the settings which will then remove those 2 lines altogether (IIRC).
4:41 PM
OK, I just realized that's my problem!
I've got a .def file for the form in my production git directory, while I've got a .def and a .layout file in Dev.
Despite having attempted to push the code from Dev to Prod.
and no, "dumb" and "microsoft" aren't synonyms. "dumb" doesn't have that distinctive flavor that only "microsoft" could bring.
If you want shorter word to type, msft works.
yeah, that's a problem, too - if you change the OASIS configurations, you need to basically reset the whole repo.
No good changing horses midstream.
ugh. I don't really particularly care about checkin history for this, I'm just trying to keep in the git habit.
clarify - reset doesn't mean you ahve to delete & recreate repo
seems it would be best to delete the Prod git directory & create it new from Dev, then pull from there back to Dev, just to be sure the two are in sync. Does that make sense fo rthe...
never mind...
more like commit to delete all old files, then another commit to update all files.
4:46 PM
that way you know you are not leaving behind any old files that are not supposed to be there but also having properly split .def/.layout files.
And, I've been running into this:
git.exe push --progress "origin" master:master
Enumerating objects: 64, done.
Counting objects: 100% (57/57), done.
Delta compression using up to 4 threads
Compressing objects: 100% (34/34), done.
Writing objects: 100% (44/44), 19.07 KiB | 42.00 KiB/s, done.
Total 44 (delta 14), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
On my other project, I ended up making a bare repo for the origin, but that's been a pain and I want to avoid that.
I presume, therefore I need to set 'receive.denyCurrentBranch' configuration variable to 'refuse' as instructed, right?
though I don't quite know if that "squelches" the message while still failing...
2 hours later…
6:48 PM
Anyone familiar with the intricacies of (OLE) Automation? Context: have an Outlook .msg file embedded in an Excel file. I want to programmatically open it and modify its .Subject. Seems like a real real pain to do.
Dim embeddedEmail As OLEObject
Set embeddedEmail = ActiveSheet.OLEObjects(1)

embeddedEmail.Activate ' or .Verb xlVerbPrimary
It's relatively easy to open it, but then I'm stuck at a (reliable) way to get a reference to it to modify its subject.
    Dim outApp As Outlook.Application
    Set outApp = New Outlook.Application

    Application.Wait Now + TimeValue("0:00:02")

    Dim email As Outlook.MailItem
    Set email = outApp.ActiveInspector.CurrentItem

    With email
        .Subject = "foo"
    End With
This is ... unreliable.
if you are opening it programmtically and htere's no active windows, the automation will fail
Yep, which is why I have that rather hacky Application.Wait.
        Set o = GetObject(, "Outlook.Application")
        If o.Explorers.Count = 0 Then
            'Open inbox to prevent errors with security prompts
            o.ActiveExplorer.WindowState = olMinimized
        End If
once that inbox is "displayed", the rest of automation will work as expected.
I think the Application.Wait addresses a slightly different issue, namely that Set email = outApp.ActiveInspector.CurrentItem fails with an RTE 91 without it.
i.e. the ActiveInspector is Nothing.
This approach will also fail if Outlook is already open and there's an existing ActiveInspector.
On the bright side, at least we're no longer using Lotus Notes.
I think I might have to just programmatically create the email from scratch using MailItems.Add.
7:06 PM
@BigBen, is this a job for MailMerge?
I don't think so. It's a small set of 3-4 different emails that get sent monthly. The body of the email is slightly complex (embedded pictures and commentary that gets changed each month manually). I'm trying to set up a template, and embed that template in Excel.
I want to programmatically change the .To, .CC, and .Subject.
FWIW I never had to wait for anything.
And you're using an embedded email?
but I'm not sure I ever dealt with loading an email as opposed to creating it. I would think that looking for it via the inspectors would be what you'd need to do
or using application events
another quirk of using the inspector is that my draft email appears as a received email in the inbox...
seems like a bug
The amount of time I'm spending on this is gazillions of times more than what I'd save by just doing this manually lol.
With MailMerge the complexity is 100% automated. You make the template in Word, because outlook messages are a type of word doc. Then you connect the Excel sheet that has all the answers to the dynamic content, everything that changes each month. You can programmatically change anything, including .To, .CC, and .Subject.
perhaps, but i'm the guy that dislike relying on janky workarounds like timers....
@HackSlash That's a thought.
or I'll go back to creating the email like @this referred to, instead of loading it.
seems more reliable that way.
7:15 PM
It's definitely more reliable.
This is an okay guide: gmass.co/blog/mail-merge
I appreciate the feedback from both of you!
At the end, you don't have to do any outlook automation. The mailmerge feature of Word just does that part for you.
7:29 PM
random thought... If we ever get front/back split (LSP), should we consider writing the front-end in twinBASIC? If it's feature-rich enough, it could avoid having to load .Net into the host process at all...
Just the small matter of having to port #AvalonMentions++ to twinBASIC. Ahem.
would need someone who could compile the front-end to 64-bit (Professional subscription and up), but presumably contributers could develop using the free edition, and the builds would have to additionally target 64-bit.
having the .net portion run as a process would make the ducky much more responsive and not so heavy
And I'm thinking having the front-end be native would maximise perf there
kinda just depends how good the forms/controls bit turns out to be
it's a big change, tho.
oh yes indeed
one major concern I have is the need to test the changes. We don't have a unit testing framework...
7:33 PM
agreed. he does have that on plan but he's waiting for the VSC testing API to land
(not that we are covering our VBEditor.* projects....)
OK so I'm not entierly crazy. Just wildly optimistic. I can work with that ;-)
2 hours later…
10:37 PM
> I like this suggestion. I would simply call it `Qualify`. It would also apply to properties and fields on modules. We could also qualify with the project, if the reference points to a referenced library.

This should not be hard to implement since we store the necessary information on the references anyway. The biggest problem is probably figuring out in an efficient way when the refactoring should be available.

We could actually wrap the refactoring in an inspection quickfix pair. That
1 hour later…
11:48 PM
[rubberduck-vba/Rubberduck] 1386 stars vs. [decalage2/oletools] 1656 stars

« first day (2611 days earlier)      last day (56 days later) »