前のログ | 次のログ |
No.1700 Re:csvファイルの読み込み 投稿者:匿名 [00/12/05(火)13:24分]
ゆう(U) さん、サンプルコードありがとうございます。
私のVBは、Vol5.0のLEなので、ダメですね。(>_<)
でも近いうちに、新しいバージョンを買いたいと思っていたので、その時には利用させていただきます。
ご丁寧に、ありがとうございました。
No.1699 ActiveXDLL 投稿者:匿名 [00/12/05(火)11:28分]
初めて投稿します。不手際がありましたらご指摘お願いします。
環境NT4.0、VB6.0、IE5.0、Access2000です。
今、Accessの中に
date sishutu shokuhi
2000/12 100000 50000
というテーブルがあります。
それをVBを使って、エンゲル係数を出す計算コンポーネントを
作成し、それを、chartFXというWeb上でグラフを表示させるコンポーネントが
あるんですが、その値をaspで呼び出し、グラフを表示させるということをしたいのですが、
VBで計算コンポーネントを作成するやり方がさっぱりわからないのです・・・。
ActiveX DLLを作成するらしいということはわかったのですが、
いかんせんVBを使ったことがないため、どうしていいのかがわかりません。
どうか、つまらない投稿ですが、ご教授お願いいたします。
No.1698 マウスのキャプチャ?! 投稿者:白カラス [00/12/05(火)1:01分]
VB5.0(SP3)使用です
画面のキャプチャ(PrintScreen)の際に
マウス+マウス動作を含めてキャプチャしたいのですが
どうすればよいかご存知の方お願いいたします。
No.1697 Re:分割ファイルの復元 投稿者:ゆう(U) [00/12/04(月)21:08分]
たぶんヘッダー部分で解析しているのでしょうね・・・
※各種の圧縮等に対応しているそうなので、
それぞれのファイルフォーマットを熟知(調査・勉強)して
作成していると思われます
結合には不便かもしれませんが、先頭となるファイルの
ヘッダーを余計に追加しておくのも良いかもしれませんよ。
ファイル名・各種属性・ファイル日付各種等他、分割数
を先頭に加えて、復元するときにはその情報を読みこめば
OKでしょう。
当然特殊なフォーマット扱いになる為、結合もCopyで
結合をするだけでは元に戻せなくなります。
●メッセージ登録後に、更新(F5)を行うと再度投稿を
繰り返すことになる場合があります・・・
No.1696 Re:分割ファイルの復元 投稿者:匿名 [00/12/04(月)19:58分]
>●普通は復元するための方法が用意されているはずですが・・・
> (復元用のBatファイルとか)
BATファイルですか。やっぱりそれを読み込んで
結合させたほうがいいんでしょうか。
実はRarUtyというアーカイバを見て,VBで作られているのだから
自分にも出来るだろうと思っていました。
そのソフトでは,分割ファイルの先頭のファイルを選択すると
拡張子も出してくれます(BATファイルは要らない)。
無理なんでしょうか。
No.1695 Re:スキャンディスクの不良について 投稿者:SEY [00/12/04(月)18:45分]
>以前、自分のパソコンが、スキャンディスクから、立ちあげた時に、メモリ不足というメッセージがでたため、
>人に尋ねたところ、スキャンディスクを飛ばして、OSをたちあげる方法を聞きました。
>ren config.sys config.old
>ren autoexec.bat autoexec.old
>というコマンドでしたが、意味が良くわかりません。
>特に.oldという拡張子の意味がよくわかりません。
>もし、お分かりの方がいらっしゃったら、教えてください。
ren というのはDOSのコマンドで”ファイル名を変更する”という意味です。
つまり、この場合は
config.sysをconfig.old/autoexec.batをautoexec.oldに名前を
換える
ということです。
oldという拡張子は、よくファイルのバックアップとして名前を付ける時に使います。
後、bakとか...
No.1694 Re:csvファイルの読み込み 投稿者:ゆう(U) [00/12/04(月)17:01分]
VB6.0から追加された新規関数の一つです。
'==========================================================
'文字列をセパレーターで区切り配列にする関数 (Split(VB6.0)代用関数)
'==========================================================
' result = fSplit(myString, mySeparator, [myCompare])
' 引数 myString :元の文字列
' mySeparator:区切り文字
' myCompare :比較モード(省略可:バイナリ モード)
' 戻値 result :切出した文字列(バリアント配列)
'----------------------------------------------------------
'サンプル)
'Dim varArray As Variant
'Dim varTemp As Variant
'Dim strTemp As String
'
'strTemp = "123" & vbTab & "456" & vbTab & "789"
'varArray = fSplit(strTemp, vbTab)
'
'Debug.Print UBound(varArray) - LBound(varArray) + 1
'For Each varTemp In varArray
' Debug.Print varTemp
'Next varTemp
'' 通常の For〜Next でもOK
'' Dim i As Long
'' For i = LBound(varArray) To UBound(varArray)
'' Debug.Print varArray(i)
'' Next i
'結果)
' 3 ←区切られた項目数
'123 ←第1項目
'456 ←第2項目
'789 ←第3項目
'----------------------------------------------------------
Public Function fSplit(ByRef myString As String, _
ByRef mySeparator As String, _
Optional ByVal myCompare _
As VbCompareMethod = vbBinaryCompare) As Variant
Dim strArray() As String
Dim strTemp As String
Dim lngLength As Long
Dim lngArrayCount As Long
Dim i As Long, j As Long
j = 1&
lngLength = Len(mySeparator)
i = InStr(j, myString, mySeparator, myCompare)
Do While i > 0&
ReDim Preserve strArray(lngArrayCount)
strArray(lngArrayCount) = Mid$(myString, j, i - j)
lngArrayCount = lngArrayCount + 1&
j = i + lngLength
i = InStr(j, myString, mySeparator, myCompare)
Loop
ReDim Preserve strArray(lngArrayCount)
strArray(lngArrayCount) = Mid$(myString, j, Len(myString) - j + 1&)
fSplit = strArray
End Function
今回の場合なら、内部のコード部分を参考に項目の切り出しを
すると良いです。
※わざわざVariant型(内部String型配列)にする必要は
無いと思いますので
No.1693 Re:分割ファイルの復元 投稿者:ゆう(U) [00/12/04(月)16:53分]
> 拡張子はどこを見ればよいのでしょうか。自分でヘッダーを見て変換するのでしょうか。
分割した人に聞くのが一番とか・・・
ファイルサイズがかなり大きいということは、圧縮することで
大きくなったかもしれないのでヘッダー部分をバイナリエディター等で
調べてみる、というよりLzhにして動かしてみるとか・・・
●普通は復元するための方法が用意されているはずですが・・・
(復元用のBatファイルとか)
No.1692 Re:csvファイルの読み込み 投稿者:匿名 [00/12/04(月)15:11分]
ゆう(U) さん。さっそくのレスありがとうございます。
でも、Split関数がどんな物なのかいまいちよくわかりません。
VBのヘルプでは、Split オブジェクトという項目はあるのですが、 ゆう(U) さんの書いておられる関数とはまた違う物のような気がします。
また、私の持ってる数冊の本にも出ていません。
簡単で結構ですので、サンプルコードなど教えていただけないでしょうか?
No.1691 テキストファイルを結合(マージ)する方法 投稿者:YAHARA [00/12/04(月)8:38分]
テキストファイル(複数)を簡単に結合する方法を教えてください。
[例]
(元)
a.txt , b.txt , c.txt , ・・・ , z.txt
↓
(結合後)
d.txt
No.1690 スキャンディスクの不良について 投稿者:コウチャン [00/12/03(日)7:19分]
以前、自分のパソコンが、スキャンディスクから、立ちあげた時に、メモリ不足というメッセージがでたため、 人に尋ねたところ、スキャンディスクを飛ばして、OSをたちあげる方法を聞きました。
ren config.sys config.old
ren autoexec.bat autoexec.old
というコマンドでしたが、意味が良くわかりません。
特に.oldという拡張子の意味がよくわかりません。
もし、お分かりの方がいらっしゃったら、教えてください。
No.1689 感動しました。 投稿者:オフィス拓 [00/12/03(日)4:22分] http://www.biwa.ne.jp/~t-ohgami/
久しぶりに花ちゃんのHP拝見させていただいて感動しております。このVBレスキューって良いですね。 こうして自分の解らない事を気軽に質問して解る誰かが答えるって...最高です。本当に良いですねぇ。 ちなみに僕はこの業界では化石みたいな人間かも? 僕が大学に行ってる時、 パソコンなんて有りませんでしたから。 大学では大型のコンピューター相手にBASICを勉強する日が続きました。 卒論もデータベースプログラムのソースでOKやったくらいですから。 卒業する時にやっとNECのPC88が売れ出したんかなぁ。で、大学生の頃、教授に言われました。 ”コンピューターは電算機やから、勝手に何でも答えてくれへん、人間が欲しい答えを導き出すように プログラミングしないとただの箱や、関数を自分で作れ”って。 そやから、今でも欲しい答えが返ってくるように自分で関数を組んでます。 そんな事しなくても今では組み込み関数が豊富やのにねぇ。 頭が堅いから申告の時は今でも”電算技術業”で申告してます。 現在、プロの私は100%アクセスを使ってソフトウェアを開発しています。 それは開発効力が良いからです。特にフォームと印刷フォーマットに関しては絶大です。 でも、その内部処理の90%はVBで書いています。で、僕から皆さんへのヒントです。 多分コンピューターに出来ない事は無いでしょう(常識的範囲内で)。 もし出来なかったらそれは人間のプログラミングミスです。ある答えを導き出したい時、 どうしても上手くいかない時は、 ちょっと遠回りしてみて下さい。 1から3の答えが出なくても1から2の処理をしてから3の答えを導き出せる事がありますから。 その乗りで一次関数、二次関数を組めば答えはきっと出ますから。 VB好きの皆さんがんばって下さい。で、こう言うHPを開設されてる花ちゃんにもエールを送ります。 以上、オフィス拓 代表大上
No.1688 Re:分割ファイルの復元 投稿者:匿名 [00/12/02(土)21:27分]
ゆう(U)さん,御返事ありがとうございます。
分割方式なのですが,*.001,*.002,・・・というように分割してあります。
一応,そのファイルの結合は出来ました。その後の,ファイル名をつけるところで
詰まっています。拡張子より前の部分は分割ファイルのを使えばいいのですが,
拡張子はどこを見ればよいのでしょうか。自分でヘッダーを見て変換するのでしょうか。
No.1687 Re:日付チェック 投稿者:匿名 [00/12/02(土)15:41分]
こんな方法も
IsDate(Format("2000/31/12", "yyyy/mm/dd"))
No.1686 Re:日付チェック 投稿者:SEY [00/12/01(金)16:51分]
●日付の並びについて
「日本」 − ”yyyy/mm/dd”
「アメリカ」 − ”mm/dd/yyyy”
「イギリス」 − ”dd/mm/yyyy”
と、なっているようなので
IsDate("2000/12/31"),IsDate("12/31/2000"),IsDate("31/12/2000")
は全てTrueで返ってくるようです。
このデータの並びからすると月日年で判定したいってことですよね?
それならば、月の部分だけ切り出して1から12の範囲かチェック
し、OKならば、IsDate関数を使ってチェックってのはどうでしょ
うか?
No.1685 日付チェック 投稿者:ゆう [00/12/01(金)14:31分]
おせわになりやす
日付のチェックを使用としてISDATE関数を使おうと思ったのですが
この関数って月と日が逆でもOKって帰ってくるのでいい案があれば教えていただきたいのですが
たとえば
入力1→12312000・・・2000/12/31として渡す
入力2→31122000・・・2000/31/12として渡す
で、ISDATEをかけると入力2が2000/12/31と変換して代えします
どうすれば・・・・
No.1684 Re:(続)日付&時刻表示 投稿者:ゆう(U) [00/11/30(木)21:41分]
ラベルでは文字入力することが出来ません。
VB6.0なら日付等の入力を補助してくれるような
新コントロールが添付されています・・・
※「DTPicker コントロール」
※全エディションに追加されたかはわかりませんが
No.1683 Re:csvファイルの読み込み 投稿者:ゆう(U) [00/11/30(木)21:36分]
Line Input(行単位)で読みこみ、Split関数で切り分けるとか・・・
No.1682 Re:郵便番号 投稿者:ゆう(U) [00/11/30(木)21:33分]
郵便番号辞書を使用する方法ではないですが・・・
郵政省(郵便局?)のHPから郵便番号データが
Downできたはずです。
これをデータベース化すると扱いが楽では?
No.1681 Re:分割ファイルの復元 投稿者:ゆう(U) [00/11/30(木)21:10分]
どの様に分割されたか(&命名)・・・ですね。
A.001
A.002
A.003
や
A001.Exe
A002.Exe
A003.Exe
とかで、単純に(Byte)切り分けただけなら
DOSのCopyコマンドでもOKですが・・・
No.1680 中級者用の本 投稿者:匿名 [00/11/30(木)13:59分]
VB歴2ヶ月のひよっこです。
しかし、VBの基本的なことは、だいたい分かってきたので、
もっと、応用を使いたいんです。
おすすめの本があったら、教えてください。
・・・ちょっと書く場所が違ったかな〜。
ごめんなさいね。
でも、教えてください!
No.1679 csvファイルの読み込み 投稿者:匿名 [00/11/30(木)13:35分]
VBレスキューで”テキストファイル(TXT・CSV)の読込・書込み”を読みましたが、 CSV(カンマ区切り)においてカンマ毎に区切られている項目のデータに、カンマが含まれている場合、 データを各変数に読み込んでいけば、カンマの含まれたデータの所から、ずれてしまって、 思い通りに変数に格納出来ないのですが、どうすればいいですか?
ちなみに、データに含まれるカンマは全角です。
No.1678 分割ファイルの復元 投稿者:匿名 [00/11/29(水)18:08分]
分割ファイルの復元をしようと思っています。
そこで,ファイルはすべてあるとして拡張子をつけるときに
どこを見てつければよいのでしょうか。
No.1677 MSComm 投稿者:シャア [00/11/28(火)12:00分]
コミュニケーション コントロールを使い、シリアルポートを通じて通信を行う
アプリケーションを作成しているのですが、使用可能なCOMポートを調べる
方法はありますか?
どなたか教えてください。
No.1676 郵便番号 投稿者:なんみー [00/11/28(火)11:36分]
最近VBを始めたばっかりの超初心者です。
今、データ登録画面で郵便番号の記入欄があり、その下に住所記入欄があります。
そこで、郵便番号が入力されると自動で住所欄に県名・市町村名まで表示される
ようにしたいのですが、どのようなやり方がありますか?教えて下さい。
IMEを参照すると思いますが、VB上でどのようにコードを記述するのかなど
教えて頂ければありがたいです。
No.1675 (続)日付&時刻表示 投稿者:匿名 [00/11/27(月)17:40分]
ゆー太郎さん、レスありがとうございます。
うまくできました♪
さらに、みなさまに追加の質問があります。
現在の日付&時刻が表示されているラベルの上に、
好きな時刻を手入力で表示することは可能ですか?
可能な場合、どうすればできるのでしょうか?
ふと疑問がわいて、気になってどうしようもなくなったので、
どなたか教えてください。お願いします。
No.1674 RE:時刻&日付表示 投稿者:ゆー太郎 [00/11/24(金)19:41分]
>Print Now だと、画面の左上に時刻と日付が表示され、
> lblTime.Caption = Time$
もう既にご自分で回答は出せているようなものです。
日付+時間を得るなら Now関数、
ラベルに表示するのなら Caption プロパティ。
この2つの処理をうまく組み合わせてみてください。
No.1673 時刻&日付表示 投稿者:匿名 [00/11/24(金)18:00分]
自分で調べたのですが、どうしてもできないので教えてください。
ラベル内に、日付と時刻(YYYYMMDDhhmmss)を表示したいのです。
Print Now だと、画面の左上に時刻と日付が表示され、
lblTime_click()
lblTime.Caption = Time$
End Sub
だと、時刻しか表示されません。
どうしたら、両方一度に表示されますか?
No.1672 セットアップウィザードでコンポーネントが最新ではない 投稿者:とも [00/11/24(金)16:14分]
以前作ったwinsockを使用するプログラムをセットアップウィザードでセットアッププログラムを 再作成しようと思い手順に沿って行ったのですがMswinsck.ocxのコンポーネントの依存ファイルが 最新ではありませんというメッセージが表示され正常にセットアッププログラムを 再作成できなくなってしまいました。
今回直した部分はwinsockの部分は変更していないため原因が分かりません。 ちなみに2日前に再作成したときには正常に動作しました。
どなたが原因や解決方法をご存じの方いらっしゃいましたらご教示していただければ幸いです。
No.1671 ありがとうございます。 投稿者:よし [00/11/24(金)13:06分]
ゆー太郎さん、有難うございます。
できました。
とても、助かりました。
No.1670 Excel2000からVBにうつすには? 投稿者:ちゃーしゅー [00/11/24(金)12:00分]
顧客管理を作っているのですが、Excel2000からVB6にデータ取り込み方法が
分かりません。
初心者なので分かりやすく教えていただける方、メールください
No.1669 re:メッセージ表示 投稿者:ゆー太郎 [00/11/24(金)11:05分]
showの後、
DoEvents か、Form1.Refreshを入れて、
CPUにメッセージを処理させるタイミング
を与えてやれば良いですよ
No.1668 メッセージ表示 投稿者:よし [00/11/24(金)10:04分]
処理中に画面に処理中と表示させたいので
FORM1.show (画面に処理中を表示)
処理
unload FORM1
と記入すると、
FORM1の枠は出るのですが、中が透けていて下のFORMが見えてしまいます。
何方か、対処方法を知っている人はいませんか。
よろしく、おねがいします。
No.1667 はじめまして 投稿者:T_M [00/11/23(木)23:20分]
はじめまして、よろしくお願いします。
ただいま、プログラムの勉強中です。
質問 VBでACCESSのデータベースに接続したいのですが
どうしたらいいのかわかりません。誰か知ってる方がいらっしゃれば
教えてください。
No.1666 RE:選択した内容を全て一度にキャンセルしたい 投稿者:such [00/11/21(火)18:03分]
まず、コンボボックスをコントロール配列にしておいて
コマンドボタンのクリックイベントなどで次の様にするのはどうでしょうか?
Private Sub Command1_Click()
Dim i As Integer
For i = 0 To Combo1.UBound
Combo1(i).ListIndex = 0
Next i
End Sub
No.1665 DLLとソースの確認 投稿者:MHIRO666 [00/11/21(火)17:52分]
ソース管理の不徹底により、一部ソースが紛失してしまいました。
状況としては、開発用PCからST用PCにソースを移行(媒体はFD)するときに、ソースを保存せずに
DLLを生成したようです。
DLLから生成時のソースを特定(日付等)する方法はないでしょうか?
また、DLL同士を新旧のバイナリで比較することで参考になるでしょうか?
まことに恥ずかしい内容ですが、どなたかお知恵をください。
No.1664 メニューの作成方法 投稿者:Takeda [00/11/20(月)22:56分]
こんにちは
現在メニューを使ったプログラムを作っているのですが、
プログラム実行中にメニューを作成することはできるのでしょうか?
実行中でなければ、メニューエディッタを使えばよいというところまでは何とかわかったのですが
実行中では全くわかりません。どなたか教えてください。
No.1663 画像を取り込むAPIってあるんですか? 投稿者:KEN [00/11/20(月)16:54分]
はじめまして
CCDカメラから画像をビットマップで
取り込む為のAPIってあるんですか?
調べてるんですが、あまりのAPIの多さに
お手上げです。ないのであれば他の方法で
アドバイスいただければ、ありがたいのですが。
よろしくお願いします。
No.1662 ありがとうございました 投稿者:みゃお [00/11/20(月)14:43分]
みゃおさんExcelの空白探しのヒントをくれてありがとうございました。
なんとかできました。
No.1661 選択した内容を全て一度にキャンセルしたい。 投稿者:匿名 [00/11/20(月)11:17分]
コンボボックスの中から適切な内容のものを選択し、登録しようと思ったけれど、やっぱりやめる・・・
こんな時、コンボボックスの数が少なければ、最初から内容を選択し直せばよいと思うのですが、
たくさんある時は一度に全部をキャンセルして、始めからやり直せたら便利だと思ったのですが、
そのやり方が分かりません。どうすればよいのでしょうか?
No.1660 suchさんへ 投稿者:匿名 [00/11/17(金)18:24分]
ありがとうございます。m(_ _)m
うまくできました♪
No.1659 RE:コンボボックス 投稿者:such [00/11/17(金)18:19分]
Dim i As Integer
For i = 1 To 100
Combo1.AddItem i
Next i
こんな感じでどうでしょうか。
No.1658 コンボボックス 投稿者:匿名 [00/11/17(金)18:05分]
コンボボックスに1から100までの数字を入れたいのですが、
VB超初心者の私は、"combo1.AddItem("1")”(以下100まで続く)
というやり方しか分かりません。
ループを使ったら、簡単に出来そうだと思うのですが、
その方法が分からないので教えてください。
No.1657 ゆー太郎 さん参考にさせていただきました。 投稿者:きみえ [00/11/16(木)17:16分]
ありがとうございました。
これからも宜しくお願い致します。
No.1656 RE:おしえてください・・・(EXCELの空白) 投稿者:みゃお [00/11/16(木)11:55分]
http://www.moug.net/technic/exopr/technic.cgi?Data+3+53
は参考になりますか?
No.1655 RE:ゆー太郎 さんありがとうございます。 投稿者:ゆー太郎 [00/11/16(木)11:06分] http://www.bea.hi-ho.ne.jp/my2project
RtlMoveMemory API関数を使えば良いですよ。
私の所の「倉庫」コーナーに「プリンターの用紙サイズ、方向を変更する」
ソースコードの中に、GetPrinter API関数を使って DEVMODE構造体を得る
処理とその構造体の中身を変更する所があるので参考にして下さい。
No.1654 ゆー太郎 さんありがとうございます。 投稿者:きみえ [00/11/16(木)9:57分]
>Byte配列にDEVMODE構造体の値をセット
とありますが、どのようにセットすればよいのでしょうか?
すみません勉強不足なもので・・・
時間があれば教えてくさい。
MSDN LibraryのDocumentPropertiesも調べてみます。
ありがとうございました。
No.1653 RE:APIで印刷したいのですが・・・ 投稿者:ゆー太郎 [00/11/15(水)20:08分]
まず、重要なこと。
プリンターDCのDEVMODE構造体の場合、DEVMODEは各プリンター共通情報しか含まれてません。
各プリンター固有情報はこの構造体の後に続いていて、この固有情報を含めてDEVMODE構造体
というのです。(ちなみにこの固有情報のサイズはプリンターによって不定です。)
てことで、 APIでDEVMODE構造体のポインターを渡したり設定する時は、
一旦、Byte配列にDEVMODE構造体の値をセットして、そのByte配列のポインターを
渡すことになります。
Declare文で DEVMODE構造体を引数にしている所は全て As Any に変更しましょう。
> Res = DocumentProperties(hwnd, hPrinter, DeviceName$, Dmout, DmIn, 0)
まず、この関数実行後、Dmoutに目的の値が入っているかを確認してください。
(多分入っていないとは思いますが)
CreateDCに渡し方は MSDN Libraryで DocumentProperties API関数を調べると、
詳しく書かれているので調べてみてください。
No.1652 APIで印刷したいのですが・・・ 投稿者:きみえ [00/11/15(水)18:52分]
突然のメールで申し訳ありません。
有限会社アムの中島と申します。
現在、APIを使用して印刷を行おうとしているのですが
CreateDC() でプリンターの
デバイスコンテキストのハンドルを取得しようと
しているのですが、取得できず、CreateDC() は 0を返します。
何か対策をご存知ないでしょうか?
なお、完全コンパイルは通ります。
開発環境 WinNT 4.0 Server(SP5)
開発言語 VB6.0(SP3)
以下にソースを記載します。
'=====================================================
'構造体(別ファイルで宣言)
'=====================================================
Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Type DOCINFO
cbSize As Long
lpszDocName As String
lpszOutput As String
End Type
Type PRINTER_DEFAULTS
pDatatype As String
pDevMode As Long
DesiredAccess As Long
End Type
'=====================================================
'定数(別ファイルで宣言)
'=====================================================
Public Const PRINTER_ACCESS_ADMINISTER = &H4
Public Const DM_DUPLEX = &H1000&
Public Const DM_ORIENTATION = &H1&
Public Const DM_PAPERSIZE = &H2&
Public Const DM_COPIES = &H100&
Public Const DM_COLOR = &H800&
'=====================================================
'印刷プロシジャー
'=====================================================
Public Sub PM01_GoPrint()
Dim DeviceName$
Dim Dm As DEVMODE, Dmout As DEVMODE, DmIn As DEVMODE
Dim Bufsize&
Dim DmInBuf() As Byte
Dim DmOutBuf() As Byte
Dim Prhdc&
Dim dinfo As DOCINFO
Dim Docname$
Dim Oldcursor&
Dim hPrinter&
Dim Res&, di&
Dim hwnd&
Dim Pdefs As PRINTER_DEFAULTS
DeviceName$ = Printer.DeviceName
Pdefs.pDatatype = vbNullString
Pdefs.pDevMode = 0
Pdefs.DesiredAccess = PRINTER_ACCESS_ADMINISTER
hwnd = A2_MainDraw.hwnd
If 0 = OpenPrinter(DeviceName$, hPrinter, Pdefs) Then Exit Sub 'API
'出力用のDEVMODE 構造体を取得
Res = DocumentProperties(hwnd, hPrinter, DeviceName$, Dmout, DmIn, 0)
Dmout.dmFields = DM_DUPLEX Or DM_ORIENTATION Or DM_PAPERSIZE Or
DM_COPIES Or DM_COLOR
Dmout.dmOrientation = Printer.Orientation
Dmout.dmPaperSize = Printer.PaperSize
Dmout.dmCopies = Printer.Copies
On Error Resume Next
Dmout.dmDuplex = Printer.Duplex
Dmout.dmColor = Printer.ColorMode
On Error GoTo 0
'デバイスコンテキストのハンドルを取得・・・・0が返るんです・・・
Prhdc = CreateDC("WINSPOOL", DeviceName$, vbNullString, Dmout)
If Prhdc = 0 Then GoTo cleanup2
'DOCINFO 構造体
Docname$ = gTitleName & gBanquetName
dinfo.cbSize = Len(dinfo)
dinfo.lpszDocName = Docname$
dinfo.lpszOutput = vbNullString
'印刷処理
di = StartDoc(Prhdc, dinfo)
di = StartPage(Prhdc)
'印刷
Call PM11_MainPrint(Prhdc)
di = EndPage(Prhdc)
If di >= 0 Then di = EndDocAPI(Prhdc)
cleanup2:
'デバイスコンテキストのハンドルを解放
If Prhdc <> 0 Then di = DeleteDC(Prhdc)
If hPrinter <> 0 Then Call ClosePrinter(hPrinter)
End Sub
No.1651 VBでメール受信 投稿者:たけすぃ [00/11/15(水)13:34分]
VB6.0 SP3で、メールの受信をしたいのですけど、方法がわかりません。
やりたいことは、メール送受信して、受信したすべてのメールの内容(件名・文章・アドレス)を見ることと、
その中に入っている添付ファイルを保存することです。
MAPISessionとMAPIMessagesを使うところまではわかりましたけど、
そこからがぜんぜんわかりません。
教えてください
よろしくお願いします。
前のログ | 次のログ |
VBレスキュー(花ちゃん)
Visual
Basic6.0 VB6.0