Office Excel アドインのTips

Microsoft ExcelのアドインのTipsです。

カスタム関数

yo office でExcelカスタム関数のプロジェクトを生成してビルド、実行してもアドインが読み込まれない → manifest.xml の OfficeApp – Id 要素にGUIDを何かしら生成して値を更新する必要がある。

SSO

環境によるのかもしれないけど ssoauth-helper.js 内で process.env が参照できてないみたいなので、環境変数にCLIENT_IDなどを設定するか dotenv をインストールして require(‘dotenv’).config(); でも呼んであげるといい。

fallbackauthdialog.js 内の publicClientApp は publicClientApp.initialize() してあげておいたほうがいいかもしれない。

それからなぜかよくわからないけどfallbackauthdialog.jsやmanifest.xml内の {PORT} は置換されないので手動で書き換えておいたほうがいい。

あとはチュートリアル通りでいけるはず。

Copilot in Windows (Preview) をピン留めさせたくない

Copilot in Windows (Preview) 使ってますか?
今普通に使ってると、Copilotのウィンドウが出た時に強制的に右端においてたウィンドウが移動されちゃいますよね?

image

このパネル、Edgeで開いてるみたいで、Microsoft EdgeのDev版で開いたらピン留めするかどうか選択できるようになります。

スクリーンショット 2023-12-06 025148

これでウィンドウが勝手に移動したりとかなくなります。やったね。あと横幅も変更できるようになります。
そのうち正式版にも来ると思いますけど、どうしても我慢できない人はMicrosoft Edge Dev版入れてCopilot in WindowsはDev版で開くようにしてみましょう。

Azure AD B2CのOpenId Configuration

昔の投稿でAzure AD B2CのOpenId-configurationのURLを取得するところで

image

みたいなこと書いてたのですが、 openid-configuration にクエリ文字列つけるのは規約違反っぽい?
ということで以下のようなURLのほうがよさそうです。

https://<aad b2c tenant fqdn>/<b2c domain or guid>/<policy or user flow id>/v2.0/.well-known/openid-configuration

Visual Studio 2022 の IntelliCode の入力候補の適用キーを変えたい

Visual Studio 2022のIntelliCodeですが、バージョン上がるたびに学習度合いも良くなったのか結構いい入力候補の提案をしてくれるようになりました。

さてそんな便利な機能ですが、唯一の難点は候補を反映するのがTabキーなのですよね。
image

さらさらとコード書いててインデントするのにTab打とうとしたらIntelliCodeの候補が出てて同意からの反映されてしまってぐぬぬ、みたいなのは誰しも経験があることではないでしょうか?

そんなIntelliCodeをオフにしてイライラ避けたいけどメリットもあるしなぁ、という方に朗報。任意のキーにすることはできませんが、Tabキーから右矢印キーに変更することは可能です。

ツール → オプションのIntelliCodeの詳細で「右矢印の行全体の入力候補を適用する」にチェックすればOKです。
image

これでTabキーじゃなくて右矢印キーになりました。

image

任意のキーにはできないけど、まぁこれで多少使い勝手がよくなるなら。。

参考

Microsoft Graph Explorer でテナントを切り替える

Microsoft Graph API のちょっとしたテストができる Microsoft Graph Explorer というツール(Webサイト)があります。

REST APIを扱うクライアントコードを書かなくても実行できるので、とても便利なツールですが、実行ユーザーが複数のテナントに所属している場合、意図したテナントで実行できない場合があります。

何もサインインせずにGraph Explorerにアクセスするとサンプルデータなサンドボックス環境なので(それはそれで影響を与えずにテストできるから便利なのですけど)、自テナントのデータを見たいとかになるとサインインするわけですが、サインイン時やサインイン後にGraph Explorer上でテナントを切り替えることができません。既定のテナントが操作したいテナントでない場合、大変困ってしまいます。

が、実はUI上はまだ無いみたいですがURL直指定だとテナント指定できます。

上記のURLのようにテナントID(IDでないとダメ)を指定してからサインインするとそのテナントになります。

image

面倒くさいという人はソースがPublicリポジトリにあるので、Cloneして自前で展開して設定したりするといいですよ。

おまけ

永遠のPreviewっぽいAzure Resource Explorer も、もしテナント切り替えがうまくいかない場合とかあればURLで以下のようにテナントIDを指定すると切り替えられます。

Readmeだと一覧が見れたりするっぽいんですけどね。(というかもともとテナント一覧表示されて切り替えられてたんですけど、動かなくなってるので)

Microsoft.Azure.WebJobs.Extensions.Http でエラーになってFunctionsが起動しない

Azure Functions v4の .NET なプロジェクトでNuGetパッケージ更新したりしたら以下のエラーがでて実行できない場合があります。

A host error has occurred during startup operation 'xxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxx'.
Microsoft.Azure.WebJobs.Extensions.Http: Could not load file or assembly 'System.Net.Http.Formatting, Version=5.2.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 指定されたファイルが見つかりません。.
Value cannot be null. (Parameter 'provider')

特定バージョンだけな気がしますが、該当しそうなのは以下のIssueです。

なんだか釈然としませんが、対処方法としては以下のようにします。

  1. Microsoft .NET SDK を再インストールする。
  2. Azure Functions Core Tools の最新をインストール(再インストール)する。

一時的な問題だと思いますが、、(たまにこの手の問題に遭遇する)