プロが教えるわが家の防犯対策術!

formのsubmitを押すと別サイトに飛ぶのですが、飛ばさないでモーダルで表示させたいです。
使用しているのは『remodal』というJqueryです。
下記URLで質問されていることとまったく同じことがしたいのですが、
知識不足すぎて回答の意味も理解できません。どうか詳細に教えてくださいませ!

https://teratail.com/questions/2860

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちは



>知識不足すぎて回答の意味も理解できません。
>どうか詳細に教えてくださいませ!
失礼な言い方になってしまいますが、どこがわからないかを説明できないと、紙面がいくらあっても足りなくなることが懸念されます。

設置はできているけれど、トリガーをsubmitに変えることができないということでしょうか?
であれば、単純化したHTMLソース等を提示なさった方が、回答が付きやすいと思います。
あるいは、設置もまだということなのでしょうか?
ご質問の内容は、『submit時に疑似モーダルウィンドウを表示させたい』ということと思いますが、なさりたいことはそれで全てが終わりというものではないのではないかと想像します。

submit時なので、例えば、入力内容の確認用にウィンドウを表示させたいような場合を想定してみると、入力内容を表示内容に反映させる必要がありそうですが、そのあたりは問題なくできているのでしょうか?
さらにには、確認後ユーザが訂正をしたりOKしたりすることになりますが、その際の処理の切り分けや次の処理への引き渡しなどもできているのでしょうか?


・・・などと言っているだけでは回答にならないので、以下に、ご質問文通りでsubmit時に表示する例を。
内容的には、配布サイト等で示されいる典型的な例をほぼそのまま使用しています。

<!DOCTYPE HTML>
<html lang="ja">
<head><title>TEST</title>

<link rel="stylesheet" href="http://on-ze.com/demo/jquery-remodal/remodal.css">
<link rel="stylesheet" href="http://on-ze.com/demo/jquery-remodal/remodal-def …
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2. …
<script type="text/javascript" src="http://on-ze.com/demo/jquery-remodal/remodal.js" …

<script type="text/javascript">
$(function(){
var modal = $(".remodal").remodal();
$("#form1").on("submit", function(){
modal.open(); return false;
});
});
</script>
</head>
<body>

<form id="form1">
<p>フォームの内容</p>
<input type="submit" value="submit" />
</form>

<div class="remodal" data-remodal-id="modal">
<button data-remodal-action="close" class="remodal-close"></button>
<h3>タイトル</h3>
<p>表示内容</p>
<button data-remodal-action="cancel" class="remodal-cancel">Cancel</button>
<button data-remodal-action="confirm" class="remodal-confirm">OK</button>
</div>

</body>
</html>

※ そのままでも動作するように、JS、CSSはONZEのサイトのものを臨時に借用しています。
  実際の利用では、自サイトに正しく設定し直してください。
  また、このサイトではURLが省略表示されてしまいますので、ご注意を。
※ 付け加えたJSはたかだか数行ですので、説明は省略しました。
    • good
    • 0
この回答へのお礼

fujillin様
お返事が遅れて申し訳ございません。
説明不足で大変お手数をお掛けしました。
ご回答いただいた内容で試してみましたが、思っている動作通りにはいきませんでした。
実は・・こちらでしばらく回答がつかなかったため、teratailでも同様のご質問をさせていただいておりました。

teratailでも説明不足だとご指摘があり、追加で説明を載せたところ回答を得られたのですが、
実現は難しいとの回答でした。(下記URL参照)
https://teratail.com/questions/67028

なので、別の方法を検討しようか考えているところです。。

お礼日時:2017/02/24 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QVBA 再帰について

こんばんは
再帰についておしえてください。
実行結果は120となります。
F8で動作を追っていくと
Sample_subに5を渡してn<=1になるとENDIFにうつり
その後、END funtionとEndifの間をいききしております。
どうして、こういう動作をするのでしょうか?
よろしくおねがいいたします。

Sub sample()
MsgBox sample_sub(5)
End Sub
Function sample_sub(ByVal n As Integer)
If n <= 1 Then
sample_sub = 1 'ここで再帰処理は終了します。
Else
sample_sub = n * sample_sub(n - 1) 'ここで自分自身を呼び出しています。
End If
End Function

Aベストアンサー

VBA の
Function名 = 戻り値
って書き方に惑わされていませんか?
> sample_sub(5)
で呼び出したときの sample_sub=〜 と、その中の
> sample_sub = n * sample_sub(n - 1) 'ここで自分自身を呼び出しています。
にある sample_sub(n - 1) で呼び出されたときの sample_sub=〜 とは、別なものになります。
「一つの変数sample_sub」 の値が変化しているわけではありません。
ステップ実行で見ると、プログラムの同じ行を指しているので「一つの変数sample_sub」 の値が変化している」様に見えてしまいますが、そうではないのです。


別の例を用意します。
sample_sub(5) で呼び出したのと、同じ動きをする関数 sample_sub_5 を作ります。

Function sample_sub_5()
If 5 <= 1 Then
sample_sub_5 = 1
Else
sample_sub_5 = 5 * sample_sub_4()
End If
End Function

同様に4〜1を用意します

Function sample_sub_4()
If 4 <= 1 Then
sample_sub_4 = 1
Else
sample_sub_4 = 4 * sample_sub_3()
End If
End Function

Function sample_sub_3()
If 3 <= 1 Then
sample_sub_3 = 1
Else
sample_sub_3 = 3 * sample_sub_2()
End If
End Function

Function sample_sub_2()
If 2 <= 1 Then
sample_sub_2 = 1
Else
sample_sub_2 = 2 * sample_sub_1()
End If
End Function

Function sample_sub_1()
If 1 <= 1 Then
sample_sub_1 = 1
Else
sample_sub_1 = 1 * sample_sub_0()
End If
End Function


この sample_sub_5() での動作は、 sample_sub(5) とまったく同じになります。

VBA の
Function名 = 戻り値
って書き方に惑わされていませんか?
> sample_sub(5)
で呼び出したときの sample_sub=〜 と、その中の
> sample_sub = n * sample_sub(n - 1) 'ここで自分自身を呼び出しています。
にある sample_sub(n - 1) で呼び出されたときの sample_sub=〜 とは、別なものになります。
「一つの変数sample_sub」 の値が変化しているわけではありません。
ステップ実行で見ると、プログラムの同じ行を指しているので「一つの変数sample_sub」 の値が変化している」様に見えてしまいますが、そ...続きを読む

Qvbsでは漢字の変数は使えないのでしょうか。

下記はエラーになります。
Option Explicit
Dim 氏名

氏名=InputBox("氏名を入力して下さい")
MsgBox(氏名)

ここで、氏名をnameに変更すると正しく実行します。
Option Explicit
Dim name

name=InputBox("氏名を入力して下さい")
MsgBox(name)

漢字の変数を使う方法は無いのでしょうか。

Aベストアンサー

もうお答えは出ているようですが、私からも回答します。

2byte 文字を変数にすると、

\kanjitest.vbs(2, 5)
「Microsoft VBScript コンパイル エラー: 文字が正しくありません。」

のエラーが出ます。
Unicode VBSにしても、やはりエラーが出ます。

もともと、String 型で認められる所以外では、2byte 文字は、ハングしますから、仕方がありません。VBAとは違いますから。
これを、HTA にして、Charset を、UTF-8 にしても、エラーは出ます。諦めることでしょうね。

Q【VBA】IF文 複数(ネスト)の時の処理について

こんにちは。
if文についておしえてください。
以下のようなマクロがあるとします。

変数 tensuuに-1をいれて実行すると①→②のように動作し「入力エラー」と表示されます。
tensuuに120を入れて実行すると①´→②´の順に動作し「入力エラー1」と表示されます。

どして、-1のときは入力エラー1にはいかず入力エラーにいくのでしょうか?
120のときは入力エラーにはいかず入力エラー1にいくのでしょうか?

動きがよくわかりません。
IF文とELSEはどういう紐づけがされているのでしょうか?

よろしくおねがいいたします。
   
Sub t()
tensuu = -1
If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
Else
MsgBox "入力エラー1" '②´
End If
Else
MsgBox "入力エラー" '②
End If
End Sub

こんにちは。
if文についておしえてください。
以下のようなマクロがあるとします。

変数 tensuuに-1をいれて実行すると①→②のように動作し「入力エラー」と表示されます。
tensuuに120を入れて実行すると①´→②´の順に動作し「入力エラー1」と表示されます。

どして、-1のときは入力エラー1にはいかず入力エラーにいくのでしょうか?
120のときは入力エラーにはいかず入力エラー1にいくのでしょうか?

動きがよくわかりません。
IF文とELSEはどういう紐づけがされているのでしょうか?

よろし...続きを読む

Aベストアンサー

If 〜 Then 〜 Else 〜 End If
で1セットです。

ネスト(入れ子)になったIF文というのは、 Then 〜 とか Else 〜 の〜の部分にIf文がくるものです。
ですから、外のIfを越えてしまうことはありません。
よって、一番内側から見ていけば、構造がはっきりします。


一番内側から見ます。

If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If

が1セットです。
これを 「文1」とすると元のプログラムは

If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
End If
Else
MsgBox "入力エラー" '②
End If

となります。この状態で「一番内側」を見ると

If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
End If
です。これを「文2」とすると

If tensuu >= 0 Then '①
「文2」
Else
MsgBox "入力エラー" '②
End If


余談ですが
この例の場合、外側2つは、判定内容と処理とが離れてしまい、見辛いのは確かです。
if 条件 Then A Else B は if not条件 Then B Else A と同じ、ということから、Thenでの処理とElseでの処理を入れかえれば、
条件の直ぐ下の処理が来るので、見易さが格段によくなります。

If tensuu < 0 Then '① ' tensuu<0 は not (tensuu>=0)と同じ
MsgBox "入力エラー" '②
ElseIf tensuu > 100 Then '①´
MsgBox "入力エラー1" '②´
ElseIf tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If ' ElseIfで継いでいるので、ネストにはなっていない

If 〜 Then 〜 Else 〜 End If
で1セットです。

ネスト(入れ子)になったIF文というのは、 Then 〜 とか Else 〜 の〜の部分にIf文がくるものです。
ですから、外のIfを越えてしまうことはありません。
よって、一番内側から見ていけば、構造がはっきりします。


一番内側から見ます。

If tensuu >= 80 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If

が1セットです。
これを 「文1」とすると元のプログラムは

If tensuu >= 0 Then '①
If tensuu <= 100 Then '①´
「文1」
Else
MsgBox "入力エラー1" '②´
...続きを読む

QVBAでコードが消えてしまった。

VBAのコード閲覧にパスワードを設定していて、
http://www.saka-en.com/office/excel-vba-password-unlock/
上記URLを参考に、解除したのですが、
コードが消えてしまいました。
弟が作ったコードで、パスワードを解除すると、消えてなくなる設定にしていたのかもしれません。
どのようにすれば復旧しますでしょうか。

Aベストアンサー

まず、ほとんど期待できませんが、私が探す方法を示しておきます。

>パスワードを解除すると、消えてなくなる設定にしていたのかもしれません。
自己破壊用のマクロというのがありますが、パスワードで消えてなくなるというのは聞いたことがありません。

パスワードの解除の多くは、クラッキングです。業者さんもパスワードを解除してくれるのですが、本当の解除ですから、総当り制を使って高性能のマシーンでも、信じられないような時間が掛かります。

それで、クラッカーの市販品も、なかなかの値段がします。たぶん、それだけのものはあるのでしょうね。

それと、Excel2007以上のファイル構造は、VBAの部分だけがバイナリになっていて、他は、パスワードをかけていなければ、XLM コードでできています。言い換えると、VBAの部分だけが脆弱だとも言えます。(添付画像をつけました)

とりあえず、中身を調べてみてください。
知っているかと思いますが、xlsm などの拡張子をzipに変えて、7zipなどで、中身を調べますと、それぞれが入っています。そこで、VBAのbinファイルがなかったら、もうそのファイルにはVBAがなくなっています。

もしあれば、かなり望みが薄いと思いますが、修復をかけて戻るかどうかですね。
ファイルを開く時に、「開いて修復する」というのを選びます。

他には、C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Excel\周辺やまたは、backupディレクトリなどに残骸が残っていることがあります。

まず、ほとんど期待できませんが、私が探す方法を示しておきます。

>パスワードを解除すると、消えてなくなる設定にしていたのかもしれません。
自己破壊用のマクロというのがありますが、パスワードで消えてなくなるというのは聞いたことがありません。

パスワードの解除の多くは、クラッキングです。業者さんもパスワードを解除してくれるのですが、本当の解除ですから、総当り制を使って高性能のマシーンでも、信じられないような時間が掛かります。

それで、クラッカーの市販品も、なかなかの値段がします...続きを読む

Qユーザ定義型は定義されてません

こんばんは
実行すると「ユーザ定義型は定義されてません」と表示されます。
どなたかわかる方おしえてください。
Sub m()
Dim a As New NotesSession
・・・

End Sub

Aベストアンサー

参考になるかな?

セッションオブジェクトを作成する
https://www.ibm.com/support/knowledgecenter/ja/SSVRGU_8.5.3/com.ibm.designer.domino.main.doc/H_ACCESSING_THE_DOMINO_OBJECTS_THROUGH_COM_CREATING.html

Qsleep()関数の質問です・

毎年初心者で、77歳になりました。よろしくお願いします。
visual basic studio express 2013 で勉強しています。

Imports System.Threading.Thread
Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Sleep(1000)
Application.DoEvents()
TextBox1.Text = "kingdom" & vbCrLf
Sleep(5000)
Application.DoEvents()
TextBox1.Text &= "koseki tosihiro"
End Sub
End Class

このように一つの関数(なんと言えばいいのですか?)
の中に 二つの slleep(1000),sleep(5000) を使う事はできないのですか?かなり時間がたって
表示されます。

毎年初心者で、77歳になりました。よろしくお願いします。
visual basic studio express 2013 で勉強しています。

Imports System.Threading.Thread
Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Sleep(1000)
Application.DoEvents()
TextBox1.Text = "kingdom" & vbCrLf
Sleep(5000)
Application.DoEvents()
TextBox1.Text &= "koseki tosihiro"
End Sub
End Class

こ...続きを読む

Aベストアンサー

>二つの slleep(1000),sleep(5000) を使う事はできないのですか?
使えます。

Sleep(1000)
TextBox1.Text = "kingdom" & vbCrLf
Application.DoEvents()
Sleep(5000)
TextBox1.Text &= "koseki tosihiro"
Application.DoEvents()

のようにしてください。
テキストボックスに文字をセットした後で、
Application.DoEvents()
を呼び出すと、直ちに表示が可能になります。

Qマクロの「SaveAs」でエラーが出るのを解消したいです

下記の↓↓↓↓↓↓部分でエラーが出ます。

「実行時エラー '1004':

'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト」

ちょろちょろマクロ組んでたのですが単純な
エラーで解決が出来ない状態です。
どなたかマクロ先生に教えて頂ければと思いますので
よろしくお願いします。

'指定額の抽出
Private Const MESSAGE_FINISH = "予算出力処理が完了しました"

Sub 予算データテキスト出力()
Dim ws1
Set ws1 = Worksheets("チェック一覧")
Dim m As Long
m = 3
Dim ws2
Set ws2 = Worksheets("予算データ")

Dim sm As String

Dim ws3

Dim sn

'チェック一覧シートのNo.が無くなるまで処理する
Do Until ws1.Cells(m, 1) = ""

Application.ScreenUpdating = False


If ws1.Cells(m, 4) = "" Then
'ナンバーがある場合は部門等をチェック一覧(ws1)→フォーム(ws2)に転記する
Else
ws2.Cells(2, 2) = ws1.Cells(m, 4)

'各部署のシート名をsmにセットする
sm = ws1.Cells(m, 2)
Set ws3 = Worksheets(sm)

'予算フォーム(ws2)の行変数「s」と各部署シート(ws3)の行変数「n」
Dim s
s = 4
Dim n
n = 9
Dim cnt
cnt = 1

Do Until n = 44
If ws3.Cells(n, 23) = 0 Then

'各数値等を各部署のシート(ws3)→フォーム(ws2)に転記する
Else

ws2.Cells(s, 1) = cnt
ws2.Cells(s, 3) = 6100
ws2.Cells(s, 4) = 0
ws2.Cells(s, 5) = ws3.Cells(3, 4)
ws2.Cells(s, 6) = ws3.Cells(5, 8)

ws2.Cells(s, 7) = ws3.Cells(n, 4)
ws2.Cells(s, 8) = ws3.Cells(n, 24)
ws2.Cells(s, 9) = ws3.Cells(n, 25)
ws2.Cells(s, 10) = ws3.Cells(n, 26)
ws2.Cells(s, 11) = ws3.Cells(n, 27)
ws2.Cells(s, 12) = ws3.Cells(n, 28)
ws2.Cells(s, 13) = ws3.Cells(n, 29)
ws2.Cells(s, 14) = ws3.Cells(n, 31)
ws2.Cells(s, 15) = ws3.Cells(n, 32)
ws2.Cells(s, 16) = ws3.Cells(n, 33)
ws2.Cells(s, 17) = ws3.Cells(n, 34)
ws2.Cells(s, 18) = ws3.Cells(n, 35)
ws2.Cells(s, 19) = ws3.Cells(n, 36)
s = s + 1
cnt = cnt + 1

End If

n = n + 1

Loop
'予算データに転記されたので出力する

ws2.Copy

' ↓↓↓↓↓この下の「SaveAs」がエラーになります。↓↓↓↓↓

ActiveWorkbook.SaveAs Filename:="D:\Library\Desktop\新しいフォルダー\" & ws2.Cells(s, 5).Value & ".xlm"

ActiveWindow.Close

ActiveWorkbook.Close savechanges:=False


'フォームに転記した情報をクリア
ws2.Select
Range(Cells(4, 1), Cells(44, 19)).Select
Selection.ClearContents


End If

m = m + 1


Loop

ws1.Select

MsgBox MESSAGE_FINISH

End Sub

下記の↓↓↓↓↓↓部分でエラーが出ます。

「実行時エラー '1004':

'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト」

ちょろちょろマクロ組んでたのですが単純な
エラーで解決が出来ない状態です。
どなたかマクロ先生に教えて頂ければと思いますので
よろしくお願いします。

'指定額の抽出
Private Const MESSAGE_FINISH = "予算出力処理が完了しました"

Sub 予算データテキスト出力()
Dim ws1
Set ws1 = Worksheets("チェック一覧")
Dim m As Long
m = 3
Dim ws2
Set ...続きを読む

Aベストアンサー

試していませんが、
ActiveWorkbook.SaveAs Filename:="D:\Library\Desktop\新しいフォルダー\" & ws2.Cells(s, 5).Value & ".xlm"

のファイルの拡張子は、".xlsm"が正しいかと。

QVBAで3の倍数の乱数を取得する

excelのVBAのことなのですが
3の倍数で整数で乱数を取得する方法がわかりません。

これがどうしてもわからなくて困ってます。
教えてください。

Aベストアンサー

60~198のの範囲の3の倍数の乱数を発生させ、A1からA1000のセルにその値を書き込んでいます。
200は3の倍数にならないので198を上限にしています。
MyRandを呼び出すと60から198の範囲の3の倍数の乱数を返します。
(あなたが実際に使うのは、MyRandだけです)
上限を201にしたいなら、66を67に変えてください。
MyRandを呼び出す前にRandomizeを1回実行してください。そうしないと毎回同じ結果が返ります。
---------------------------------
Option Explicit
Public Sub 乱数作成()
Dim i As Long
Dim r As Long
'乱数を作成しA列へ格納する(1000回分)
Randomize
For i = 1 To 1000
r = MyRand()
Cells(i, 1).Value = r
Next
End Sub

'60から198の範囲内の3の倍数の乱数を生成する。
Public Function MyRand() As Long
MyRand = Int((66 - 20 + 1) * Rnd + 20) * 3
End Function

60~198のの範囲の3の倍数の乱数を発生させ、A1からA1000のセルにその値を書き込んでいます。
200は3の倍数にならないので198を上限にしています。
MyRandを呼び出すと60から198の範囲の3の倍数の乱数を返します。
(あなたが実際に使うのは、MyRandだけです)
上限を201にしたいなら、66を67に変えてください。
MyRandを呼び出す前にRandomizeを1回実行してください。そうしないと毎回同じ結果が返ります。
---------------------------------
Option Explicit
Public Sub 乱数作成()
Dim i As Long
...続きを読む

Qマクロの「SaveAs」でエラーが出るのを解消したいです(再)

下記のエラーが出ます、似たようなもので新規ファイルで保存できたのですが
今回は出来ない状態になってしまいました。
ちょこちょこマクロ使うのですが、初心者で解決できません。
マクロ先生のご指導をお願いします。
※コピーされたシートが新ファイルで開かれた状態でエラー表示となります。


「実行時エラー '1004':

'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト」


'指定額の抽出
Private Const MESSAGE_FINISH = "予算出力処理が完了しました"

Sub 予算データテキスト出力()
Dim ws1
Set ws1 = Worksheets("チェック一覧")
Dim m As Long
m = 3
Dim ws2
Set ws2 = Worksheets("予算データ")

Dim sm As String

Dim ws3

Dim sn

'チェック一覧シートのNo.が無くなるまで処理する
Do Until ws1.Cells(m, 1) = ""

Application.ScreenUpdating = False


If ws1.Cells(m, 4) = "" Then
'ナンバーがある場合は部門等をチェック一覧(ws1)→フォーム(ws2)に転記する
Else
ws2.Cells(2, 2) = ws1.Cells(m, 4)

'各部署のシート名をsmにセットする
sm = ws1.Cells(m, 2)
Set ws3 = Worksheets(sm)

'予算フォーム(ws2)の行変数「s」と各部署シート(ws3)の行変数「n」
Dim s
s = 4
Dim n
n = 9
Dim cnt
cnt = 1

Do Until n = 44
If ws3.Cells(n, 23) = 0 Then

'各数値等を各部署のシート(ws3)→フォーム(ws2)に転記する
Else

ws2.Cells(s, 1) = cnt
ws2.Cells(s, 3) = 6100
ws2.Cells(s, 4) = 0
ws2.Cells(s, 5) = ws3.Cells(3, 4)
ws2.Cells(s, 6) = ws3.Cells(5, 8)

ws2.Cells(s, 7) = ws3.Cells(n, 4)
ws2.Cells(s, 8) = ws3.Cells(n, 24)
ws2.Cells(s, 9) = ws3.Cells(n, 25)
ws2.Cells(s, 10) = ws3.Cells(n, 26)
ws2.Cells(s, 11) = ws3.Cells(n, 27)
ws2.Cells(s, 12) = ws3.Cells(n, 28)
ws2.Cells(s, 13) = ws3.Cells(n, 29)
ws2.Cells(s, 14) = ws3.Cells(n, 31)
ws2.Cells(s, 15) = ws3.Cells(n, 32)
ws2.Cells(s, 16) = ws3.Cells(n, 33)
ws2.Cells(s, 17) = ws3.Cells(n, 34)
ws2.Cells(s, 18) = ws3.Cells(n, 35)
ws2.Cells(s, 19) = ws3.Cells(n, 36)
s = s + 1
cnt = cnt + 1

End If

n = n + 1

Loop
'予算データに転記されたので出力する

ws2.Copy

' ↓↓↓↓↓この下の「SaveAs」がエラーになります。↓↓↓↓↓

ActiveWorkbook.SaveAs Filename:="D:\Library\Desktop\新しいフォルダー\" & ws2.Cells(s, 5).Value & ".txt", FileFormat:=xlText

ActiveWindow.Close

ActiveWorkbook.Close savechanges:=False


'フォームに転記した情報をクリア
ws2.Select
Range(Cells(4, 1), Cells(44, 19)).Select
Selection.ClearContents


End If

m = m + 1


Loop

ws1.Select

MsgBox MESSAGE_FINISH

End Sub

下記のエラーが出ます、似たようなもので新規ファイルで保存できたのですが
今回は出来ない状態になってしまいました。
ちょこちょこマクロ使うのですが、初心者で解決できません。
マクロ先生のご指導をお願いします。
※コピーされたシートが新ファイルで開かれた状態でエラー表示となります。


「実行時エラー '1004':

'SaveAs' メソッドは失敗しました: '_Worksheet' オブジェクト」


'指定額の抽出
Private Const MESSAGE_FINISH = "予算出力処理が完了しました"

Sub 予算データテキスト...続きを読む

Aベストアンサー

No1の方が指摘されているように、
ActiveWorkbook.SaveAs Filename:="D:\Library\Desktop\新しいフォルダー\" & ws2.Cells(s, 5).Value & ".txt", FileFormat:=xlText
のときの、 ws2.Cells(s, 5).Valueの値が不正な可能性があります。

この行の直前で、
msgbox("<" & ws2.Cells(s, 5).Value & ">")
を行い、ws2.Cells(s, 5).Valueの内容を確認しては、いかがでしょうか。

Qプログラミング できる人 できない人

プログラミングを長期的に勉強していて自分でプログラム作れず途中で挫折してしまう人と
プログラミングを長期的に勉強していて自分でプログラムを組めるようになった人の決定的な違いは何かありますでしょうか?

また実務何年くらいでプログラム組めるようになりましたか?

Aベストアンサー

プログラムってたった1行でも立派なプログラムだし、小学生にだって書けます。
多少我慢強くて、一般的な論理的思考能力があって、何かを作ることに喜びを感じられるなら多分誰だって書けます。

一体どんな分野のどんなプログラムを想定されていますか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング