# Office Compatibility

**URL:** <https://forums.blinkstick.com/t/office-compatibility/128>\
**Category:** Support\
**Created:** [February 26, 2015, 2:52pm UTC](https://forums.blinkstick.com/t/office-compatibility/128 "2015-02-26T14:52:57Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![brynmoorhouse](https://forums.blinkstick.com/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@brynmoorhouse](https://forums.blinkstick.com/u/brynmoorhouse)\
**Post date:** [February 26, 2015, 2:52pm UTC](https://forums.blinkstick.com/t/office-compatibility/128/1 "2015-02-26T14:52:57Z")

</div>

Hey up, received my awesome blinkstick strip and enclosure and am trying to get some VBA code working. I’ve downloaded and installed the office package, along with the blinkstick windows installer, but I can’t get it to work.

I get “Compile Error: User-defined type not defined”. Any ideas. This is Outlook 2013, 32 bit, running on 64 bit windows 8.

I have simply copied the script in your example - so nothing complex there. Just wondering if I’ve missed a setup stage?

Bryn

---

<div class="post-metadata">

**Author:** ![brynmoorhouse](https://forums.blinkstick.com/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@brynmoorhouse](https://forums.blinkstick.com/u/brynmoorhouse)\
**Post date:** [February 26, 2015, 3:08pm UTC](https://forums.blinkstick.com/t/office-compatibility/128/2 "2015-02-26T15:08:26Z")

</div>

It’s the line:

```
Dim finder As New BlinkStickFinder

```

which is throwing the error…

---

<div class="post-metadata">

**Author:** ![arvydas](https://forums.blinkstick.com/user_avatar/forums.blinkstick.com/arvydas/32/242_2.png) [@arvydas](https://forums.blinkstick.com/u/arvydas)\
**Post date:** [February 26, 2015, 6:13pm UTC](https://forums.blinkstick.com/t/office-compatibility/128/3 "2015-02-26T18:13:54Z")

</div>

Did you install [BlinkStick Interop](https://forums.blinkstick.com/t/blinkstick-interop-for-com-beta-release/84)?

Also did you add reference to BlinkStickInterop? This is done in VBA editor on the main menu Tools → References…

![](https://forums.blinkstick.com/uploads/default/73/de64fac5bb3b2a32.png)

… and adding checkbox next to BlinkStickInterop.

![](https://forums.blinkstick.com/uploads/default/72/7f89608a91ebcbe9.png)

---

<div class="post-metadata">

**Author:** ![brynmoorhouse](https://forums.blinkstick.com/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@brynmoorhouse](https://forums.blinkstick.com/u/brynmoorhouse)\
**Post date:** [February 27, 2015, 10:23am UTC](https://forums.blinkstick.com/t/office-compatibility/128/4 "2015-02-27T10:23:06Z")

</div>

Doh! No, I hadn’t referenced it. It works on my PC at work now, but not my laptop which is weird. Anyway, not bothered about my laptop, so I’m happy 😄

Next question, it’s always the first LED that comes on - can I change that to any of the others?

Bryn

---

<div class="post-metadata">

**Author:** ![arvydas](https://forums.blinkstick.com/user_avatar/forums.blinkstick.com/arvydas/32/242_2.png) [@arvydas](https://forums.blinkstick.com/u/arvydas)\
**Post date:** [February 27, 2015, 10:53am UTC](https://forums.blinkstick.com/t/office-compatibility/128/5 "2015-02-27T10:53:01Z")

</div>

Use [BlinkStickIndexed](http://arvydas.github.io/BlinkStickInterop/interface_blink_stick_interop_1_1_i_blink_stick.html#a42ac9fbed6c4ddaad48135c6136ee938) or [BlinkStickIndexedCSS](http://arvydas.github.io/BlinkStickInterop/interface_blink_stick_interop_1_1_i_blink_stick.html#af58b76f7c432be22123178ac8d80fe06) to set colors for each LED separately. You can also use [SetColors](http://arvydas.github.io/BlinkStickInterop/interface_blink_stick_interop_1_1_i_blink_stick.html#abdac1d206971bfa8c65c398b7afafe19) to send a frame of colors to all LEDs at once. There is an [advanced sample in the Wiki](https://github.com/arvydas/BlinkStickInterop/wiki/BlinkStick-Pro-frames) utilizing this feature.

---

<div class="post-metadata">

**Author:** ![brynmoorhouse](https://forums.blinkstick.com/letter_avatar_proxy/v4/letter/b/d6d6ee/32.png) [@brynmoorhouse](https://forums.blinkstick.com/u/brynmoorhouse)\
**Post date:** [March 9, 2015, 2:26pm UTC](https://forums.blinkstick.com/t/office-compatibility/128/6 "2015-03-09T14:26:38Z")

</div>

Thank you for this, I’m being thick.

When the macro runs, it pauses the application. It unpauses when the macro has finished, but is there any way of stopping it from pausing in the first place? I locked Outlook for about 30 minutes as it ran a pulse however many times.

Great product though, I’m really loving it.

---

<div class="post-metadata">

**Author:** ![arvydas](https://forums.blinkstick.com/user_avatar/forums.blinkstick.com/arvydas/32/242_2.png) [@arvydas](https://forums.blinkstick.com/u/arvydas)\
**Post date:** [March 9, 2015, 2:54pm UTC](https://forums.blinkstick.com/t/office-compatibility/128/7 "2015-03-09T14:54:47Z")

</div>

Locking out application is a bit of a problem right now, because VBA is a single threaded application. If you could find a way to put BlinkStick object into a thread from VBA, then you should be able to control it without locking up the application.

As an alternative, I may be able to implement threading inside the [BlinkStickInterop](https://github.com/arvydas/BlinkStickInterop). I would assume that this requires 3 essential features:

1. Ability to call asynchronous function, which would create a thread to animate BlinkStick and exit immediately
2. Ability to receive an event when the animation is complete so that you could start another animation if required
3. Ability to get the current status of animation, whether it’s playing and stop it if required

It shouldn’t be a problem if you want to control one LED on the BlinkStick asynchronously, but ability to drive the animation from the VBA code with multiple LEDs may be complicated and I’m not sure yet of the approach I should take. I’m currently working on the new client application for BlinkStick and I’m facing the same issue. When I come up with a solution, I should be able to implement it in [BlinkStickInterop](https://github.com/arvydas/BlinkStickInterop). I would be very happy to hear if you have any suggestions or if you could explain how you are using your setup to give me some ideas on how to implement this in a most reusable way.

P.S. Glad to hear you love it! 😄
