• ベストアンサー

VB.net2008でOOoファイルを呼出すには。

VB.net2008初心者です。 OpenOfficeの既存のファイルを呼び出すプログラムを書きたいのですが 書き方が判りません。 VBAでExcellファイルを呼出すには Dim stAppName As String stAppName = "Excel.exe C:\日東電工\日東提出\平均単価見積り.xls" Call Shell(stAppName, 1) で出来たのですが VBでは判りません。 どなたかご存知の方教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

失礼しました OpenOfficeのファイル呼出は組んだ事がありませんが、下記サイトは手がかりにならないでしょうか(検討違いでしたらごめんなさい) http://yorozuya.exeexe.net/vbdotnet_ooo/

その他の回答 (1)

回答No.1

過去に同様の質問がありました http://okwave.jp/qa/q4858696.html 業務ではあまり見慣れませんが、下記のような方法も http://park5.wakwak.com/~weblab/selectExcelFile.html

10071007
質問者

お礼

piyo_dansyakuさん早々の返信ありがとうございました。 私の書き方が判りにくい書き方をしてしまいました。 例題にExcelファイルを呼出すプログラムを書いてしまったので判りにくくしてしまいました。 おしえていただきたかった内容は ------------------------------------- OpenOfficeの既存のファイルを呼び出すプログラムを書きたいのですが 書き方が判りません。 ------------------------------------- でした。 例題もOpenOfficeのCalcを呼び出すプログラムを引用すれば良かったと思っています。 Dim Ret As Long Ret = Shell("C:\Program Files\OpenOffice.org 3\program\scalc.EXE", vbNormalFocus) これだとOpenOfficeのCalcの新しいファイルは呼出せますが、既存の たとえば C:\test.ods を呼出すにはどう書いたらいいのかが判りません。 判りにくい質問をしてすいません。 よろしかったら続いて教えてください。

関連するQ&A

  • Access2000vbaで、shell関数で起動させたExcellを終了する方法を教えてください。

    Access2000vbaで、shell関数で起動させたExcellを終了する方法を教えてください。 以下のように、shell関数で、既存のExcelファイルを起動させました。 どうすれば、Excelファイルを終了できますか? 宜しくお願いします。 Dim fl_name As String fl_name = "C:\XE2.xls" Shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE " & fl_name, vbNormalFocus

  • vbから既存のOOoを立上るとマクロが動きません

    VB.Net初心者です。 vbから既存のOpenOffice.Orgを立ち上げるvbをつくりました。 Private Sub OOoButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OOoButton.Click Call ConnectOSM() Dim oCalcDoc As Object Dim MyURL As String = ConvertToUrl("\\WS55\OOo\注文書印刷VB用.ods") ' odsはカルク の拡張子 oCalcDoc = oDesktop.loadComponentFromURL(MyURL, "_blank", 0, dummyArray) end sub これの色々な関連のモジュールは長いので書きませんが 関連がありそうなモジュールは例えば Public OSM As Object 'オープンオフィスサービスマネージャ Public oDesktop As Object 'オープンオフィスデスクトップ Public oIntrospection As Object Public oDispatchHelper As Object Public Sub ConnectOSM() If IsOSMConnected() Then Exit Sub Try OSM = CreateObject("com.sun.star.ServiceManager") Catch OSM = Nothing End Try If isOOoNull(OSM) Then ' ここでエラー処理をする Else ' 各オブジェクト作成 oDesktop = CreateUnoService("com.sun.star.frame.Desktop") oIntrospection = CreateUnoService("com.sun.star.beans.Introspection") oDispatchHelper = CreateUnoService("com.sun.star.frame.DispatchHelper") End If End Sub とかです。 \\WS55\OOo\注文書印刷VB用.odsファイルはマクロ(OOo.Basic)が書かれています。 このファイルを直接クリックして立ち上げるとマクロは動きます。 VB.Netから立ち上げるとファイルは立ち上がるのですが、マクロが全く動かなくなります。 VBの問題かOOoの設定なのか良く判りません。 どなたかご存知の方教えてください。

  • VBでVBAを起動

    こんにちは、VB初心者です。 VB6.0を使用しています。 VBからエクセルのVBAを起動させたいと思っています。 過去ログを参考にして下のようにして実行してみたのですが、 「実行時エラー'1004':マクロ'Keisan'が見つかりません。」 と、エラーが出てしまいVBAを起動することができません。 (ExcelVBAの関数(?)名はKeisan()です。) どうすればエラーを出さずに VBからVBAを起動させることができるのでしょうか? 何か参照し忘れていたり Callの以前に何かを宣言をしておかなければいけないのでしょうか? ******** Dim Wbook As Excel.Workbook Dim Exap As Excel.Application Set Wbook = GetObject("C:\テスト.xls") Set Exap = Wbook.Application     Call Exap.Run("Keisan")

  • VB6からExcellのSheetNo.の設定方法

    VB6で、Excellを使用するアプリケーションを作成中です。 下記の手順でExcellファイルをオープンしていますが、SheetNo.を指定する方法が判りません。VB6は全くの初心者でExcellファイルを開くやり方もネットからもってきたもので、意味も判らないまま使用しています。 よろしく御願いします。 Dim fnm As String Dim exl As Object gStrExcelDir = CurDir         'gStrExcelDir:String変数 fnm = gStrExcelDir + "\ファイル名" Set exl = CreateObject("Excel.Application") exl.Application.Workbooks.Open FileName:=fnm ここまででファイルのオープンは出来ていて、SheetNo.1のセルのデータ読み込みは出来ます。 この後、別なSheetNoを設定する方法が判りません。

  • EXCELVBAからVB6.0への制御の戻し方

    EXCEL VBAに関する質問です。 1.VB6.0からEXCELファイル(test.xls)を開く 2.VBAにて決定ボタンをEXCELに作成、表示 3.test.xlsを編集する 4.決定ボタンを押すと編集していたtext.xlsを 保存し、選択しているSHEETをVBに返す 5.VBに制御を戻す 上記のことを行いたいと考えています。 4.5.についてのやりかたがわからないので お教えいただければと思います。 よろしくお願いします。 :とりあえず VB側にPUBLIC FUNCTION BACK_FROM_EXCEL() というのを作って VBA Private Sub BTN_KETTEI() Call BACK_FROM_EXCEL END SUB という感じで試してみたのですが・・・ 案の定だめでした。

  • VBA・VB6.0・VB.NETの文字列型

     失礼します。  Excel97/2000のVBAの文字列型変数は、アスキーコード129-159/224-252のデータを保持できないみたいですが、これはVB6.0/VB.NETなどでもそうなのですか?  つまり、VBAでは、 Sub main()  Dim s as String  s = Chr$(130)  Sheet1.Cells(1, 1) = Asc(s) End Sub  とすると、シートのA1に「0」が表示されてしまうということです。  というのも、私はVB6.0/VB.NETを持っていないのですが、ちょっとVB2.0時代のコードを使う必要が生じたので、VBAで実行してみたところ、以上のような仕様の違いに気付いたのです。  これがVBAだけの特性なのか、最近のVBはこういう仕様になってしまったのかが知りたいのです。

  • VB.NETでのiniファイル読込について。

    .netでのiniファイル読込がうまくいきません。 何が悪いのかさっぱりわかりません。 ご指摘お願いいたします。 環境 os :xp 開発ソフト VB.NET ver 1.1.4322 SP1 ソース Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long, _ ByVal lpFileName As String) As Long '実行ファイルパスの取得 *VB6のapp.path Shared Function GetAppPath() As String Return System.IO.Path.GetDirectoryName( _ System.Reflection.Assembly.GetExecutingAssembly().Location) End Function Function INI_DBPATH_READ(ByVal FilePath As String) As String Dim lngRet As Long   '読み込みバッファ(固定長) Dim strGetBuff As String = 256   'iniファイルより読み込む文字列のサイズ Dim intGetSize As Integer   'セクション名 Dim strSection As String   'キー名 Dim strKey As String   '読み込みエラー時の出力文字列 Dim strErr As String   'iniファイル名(フルパス) Dim striniFn As String strGetBuff = Space(256) strSection = "TIFF_FOLDER" strKey = "PATH" strErr = "失敗" striniFn = Replace(GetAppPath(), "\bin", "\Ini") & "\test.ini" intGetSize = 256 'strGetBuffに文字列を取得する lngRet = GetPrivateProfileString(strSection, strKey, strErr, _ strGetBuff, intGetSize, striniFn) '末尾のNull除去 MsgBox(Microsoft.VisualBasic.Left(strGetBuff, InStr(strGetBuff, Chr(0)) - 1)) End Function iniファイルの内容 [TIFF_FOLDER] PATH=成功

  • ファイルを開く際に規定のexeを知る方法について VB.NET

    VB.NETとFramework1.1の開発環境です。 mp3ファイルなどがダブルクリックされた際に 自動で開くアプリケーションが何なのかを知りたいのですが、 レジストリキーを調べるということで間違いはないでしょうか? それで、それを取得しようと下記のようなソースで試してみた のですが、どうしてもstrにはNothingしか入りません。 間違っている箇所などありましたらその箇所をご教授頂けないでしょうか。 宜しくお願いいたします。 Dim regkey As Microsoft.Win32.RegistryKey = _ Microsoft.Win32.Registry.ClassesRoot.OpenSubKey("mp3file\shell\open\command", False) If (regkey Is Nothing) Then Return Nothing Dim str As String str = CType(regkey.GetValue("REG_SZ"), String) Console.WriteLine(str) str = regkey.GetValue("string") Console.WriteLine(Str)

  • Shell関数を使って、ファイル名を指定して開くこ

    オフィス2003です。 Sub サンプル1() Dim strExcelPath As String strExcelPath = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" Shell strExcelPath, 1 End Sub なら空のエクセルアプリケーションが開けます。 でも、 Sub サンプル2() Dim strExcelPath As String strExcelPath = "D:\ファイル.xls" Shell strExcelPath, 1 End Sub だと、 “プロシージャの呼び出し、または引数が不正です。“ と言うエラーになります。 Shell関数を使って、ファイル名を指定して開くことはできないのでしょうか?

  • VB2008 エクセル出力

    VB2008 エクセル出力 教えていただけると助かります VB6.0使用時にエクセル出力をするために下記のようなプログラムで出力していました ※「Microsoft Excel 9.0 Object Library」を参照 Dim xlApp As EXCEL.Application Dim xlBook As EXCEL.Workbook Dim xlsheet As EXCEL.Worksheet Dim File As String File = App.Path + "\EXCEL\" + "フォーム.xls" Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(File) Set xlsheet = xlBook.Worksheets("テスト") xlsheet.Range("A1") = "テスト" 'フォルダ作成 If Dir("D:\", vbDirectory) = "" Then Call Mkdirs("D:\テスト") 'Worksheetを名前をつけて保存します。 xlApp.DisplayAlerts = False xlsheet.SaveAs "D:\テスト\テスト.xls" xlApp.Quit Set xlApp = Nothing Set xlBook = Nothing Set xlsheet = Nothing VB2008の場合だとどのように書けば同じように動きますか ※色々試してみましたがダメでした 「Microsoft Excel 12.0 Object Library」を参照しています