C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: VB.NETでのExcelスライサー利用


(過去ログ 139 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■81606 / inTopicNo.1)  VB.NETでのExcelスライサー利用
  
□投稿者/ しろくま5 (17回)-(2016/10/19(Wed) 15:27:34)

分類:[VB.NET/VB2005 以降] 

2016/10/19(Wed) 15:39:52 編集(投稿者)

開発環境 VS Community 2015(VB2015)

VB.NETでExcel出力のプログラムを作っているのですが、プログラム上でスライサーを表示しようと
思ってコードを書いてみるもののエラーが出て原因がわかりません。

ピボットテーブルを作成する所までは既にできておりプログラムで出力したExcel上でスライサーの追加
ボタンを押すだけですぐスライサーを追加できる状態です。
マクロの記録を利用して、それを転記しようと試みたのですがVB.NET上ではエラーが発生します。

マクロの記録で作られたソース
ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("ピボットテーブル1"), "担当者" _
).Slicers.Add ActiveSheet, , "担当者", "担当者", 0, 0, 150, 200

VB.NET上に転記したソース
book.SlicerCaches.Add2(book.ActiveSheet.PivotTables("ピボットテーブル1"), "担当者" _
).Slicers.Add(book.ActiveSheet, , "担当者", "担当者", 0, 0, 150, 200)
(※上記book自体はアクティブなものを取得できております。)


最初のSlicerCaches.Addの時点で下記のエラーが発生します。

パラメーターが間違っています。 (HRESULT からの例外:0x80070057 (E_INVALIDARG))



お分かりになる方がいらっしゃればご教示頂けると助かります。
よろしくお願い致します。

※Add2の部分、紛らわしいので修正しました
引用返信 編集キー/
■81607 / inTopicNo.2)  Re[1]: VB.NETでのExcelスライサー利用
□投稿者/ Hongliang (462回)-(2016/10/19(Wed) 15:32:51)
> ActiveWorkbook.SlicerCaches.Add2(ActiveSheet.PivotTables("ピボットテーブル1"), "担当者" _
> ).Slicers.Add ActiveSheet, , "担当者", "担当者", 0, 0, 150, 200
> book.SlicerCaches.Add(book.ActiveSheet.PivotTables("ピボットテーブル1"), "担当者" _
> ).Slicers.Add(book.ActiveSheet, , "担当者", "担当者", 0, 0, 150, 200)

AddじゃなくてAdd2みたいですけど?
引用返信 編集キー/
■81608 / inTopicNo.3)  Re[1]: VB.NETでのExcelスライサー利用
□投稿者/ shu (921回)-(2016/10/19(Wed) 15:35:31)
No81606 (しろくま5 さん) に返信

ぱっと見ですが

ActiveWorkbook.SlicerCaches.Add2(



book.SlicerCaches.Add(

で『Add2』と『Add』が違うのは関係ないでしょうか?
引用返信 編集キー/
■81609 / inTopicNo.4)  Re[2]: VB.NETでのExcelスライサー利用
□投稿者/ しろくま5 (18回)-(2016/10/19(Wed) 15:38:49)
>> Hongliangさん、shuさん
すみません、試行錯誤していて色々ソースをいじっている中でAddも試していたので
その際のコードを記載してしまいました。

Add、Add2 どちらも同様のエラーが発生しております。

紛らわしい質問になり申し訳ありません。
引用返信 編集キー/
■81612 / inTopicNo.5)  Re[3]: VB.NETでのExcelスライサー利用
□投稿者/ shu (922回)-(2016/10/19(Wed) 21:02:58)
No81609 (しろくま5 さん) に返信

Add2の定義は
Function Add2(Source, SourceField, [Name], [SlicerCacheType]) As SlicerCache

のようですので4つ引数を指定すれば大丈夫かもしれません。
引用返信 編集キー/
■81616 / inTopicNo.6)  Re[4]: VB.NETでのExcelスライサー利用
□投稿者/ しろくま5 (19回)-(2016/10/20(Thu) 09:31:33)
No81612 (shu さん) に返信
> ■No81609 (しろくま5 さん) に返信
>
> Add2の定義は
> Function Add2(Source, SourceField, [Name], [SlicerCacheType]) As SlicerCache
>
> のようですので4つ引数を指定すれば大丈夫かもしれません。


度々のご回答ありがとうございます

Add2(ActiveSheet.PivotTables("ピボットテーブル1"), "担当者", "担当者", 1)
(※ XlSlicerCacheType.xlSlicer = 1)
と記述しても同様のエラーで改善されませんでした。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -